์๋๋ฅผ ๋ถ๋ช ํ๊ฒ ๋ฐํ๋ผ
๋ฌธ์ ๋ ์ฝ๋์ ๋จ์์ฑ์ด ์๋๋ผ ์ฝ๋์ ํจ์ถ์ฑ์ด๋ค.
public List<int[]> getThen() {
List<int[]> list1 = new ArrayList<int[]>();
for(int[] x : theList)
if(x[0] == 4)
lisst1.add(x);
return list;
}
์ ์ฝ๋์ ๋งฅ๋ฝ์ด ์ฝ๋ ์์ฒด์ ๋ช ์์ ์ผ๋ก ๋๋ฌ๋์ง ์๋๋ค.
1. theList์ ๋ฌด์์ด ๋ค์๋๊ฐ?
2. theList์์ 0๋ฒ์งธ ๊ฐ์ด ์ด์งธ์ ์ค์ํ๊ฐ?
3. ๊ฐ 4๋ ๋ฌด์จ ์๋ฏธ์ธ๊ฐ?
4. ํจ์๊ฐ ๋ฐํํ๋ ๋ฆฌ์คํธ list1์ ์ด๋ป๊ฒ ์ฌ์ฉํ๋๊ฐ?
์ง๋ขฐ์ฐพ๊ธฐ ๊ฒ์์ด์๋ค๋ฉด,
1. ๊ฒ์ํ์ ๊ฐ ์นธ์ ๋จ์ ๋ฐฐ์ด
2. ์นธ ์ํ
3. ๊น๋ฐ์ด ๊ฝํ ์ํ
์ด๋ ๊ฒ ๊ฐ ๊ฐ๋ ์ ์ด๋ฆ๋ง ๋ถ์ฌ๋, ์ฝ๋์ ๋จ์์ฑ์ ๋ณํ์ง ์์๊ณ ํจ์๊ฐ ํ๋ ์ผ์ ์ดํดํ๊ธฐ ์ฌ์์ก๋ค. ๋ฐ๋ก ์ด๊ฒ์ด ์ข์ ์ด๋ฆ์ด ์ฃผ๋ ์๋ ฅ์ด๋ค.
public List<int[]> getFlaggedCells() {
List<int[]> flaggedCells = new ArrayList<int[]>();
for(int[] cell : gameBoard)
if(cell[STATUS_VALUE] == FLAGGED)
flaggedCells.add(cell);
return flaggedCells;
}
ํ ๊ฑธ์ ๋ ๋์๊ฐ, int ๋ฐฐ์ด์ ์ฌ์ฉํ๋ ๋์ , ์นธ์ ๊ฐ๋จํ ํด๋์ค๋ก ๋ง๋ค์ด๋ ๋๊ฒ ๋ค.
isFlagged ๋ผ๋ ์ข ๋ ๋ช ์์ ์ธ ํจ์๋ฅผ ์ฌ์ฉํด FLAGGED๋ผ๋ ์์๋ฅผ ๊ฐ์ถฐ๋ ์ข๋ค.
public List<Cell> getFlaggedCells() {
List<Cell> flaggedCells = new ArrayList<Cell>();
for(Cell cell x : gameBoard)
if(cell.isFlagged())
flaggedCells.add(cell);
return flaggedCells;
}
๋ฐ๋ก ์ด๊ฒ์ด ์ข์ ์ด๋ฆ์ด ์ฃผ๋ ์๋ ฅ์ด๋ค.
์๋ช ์ ์ฃผ์ํ ์
- ํ๋ฅญํ ์ฝ์ด๋ก ๋ณด์ผ์ง๋ผ๋ ํน์ํ ์๋ฏธ๋ก ์ฝํ ์ ์๋ ๋จ์ด๋ ๋ณ์๋ช ์ผ๋ก ํผํ๋ผ. ํ๋ก๊ทธ๋๋จธ์๊ฒ ๊ทธ๋ฆ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์ ์ด๋ค.
ex) hp, aix, sco : ์ ๋์ค ํ๋ซํผ์ด๋ ์ ๋์ค ๋ณ์ข ์ ๊ฐ๋ฆฌํค๋ ์ด๋ฆ
ex) list -> accountGroup, bunchOfAccounts ๋ก ๊ณ ์ณ๋ผ!
- ๊ฒ๋๊ฒ ๋น์ทํ ์ด๋ฆ, ํก์ฌํ ์ด๋ฆ์ ์ฌ์ฉํ์ง ๋ง๋ผ!
ex) A๋ชจ๋์์ XYZControllerForEfficientHandlingOfString,
B๋ชจ๋์์ XYZControllerForEfficientStorageOfString ์ฐจ์ด๋ฅผ ์ด๋ป๊ฒ ์์์ฑ๋๊ฐ?
- ์ํ๋ฒณ ํ๊ธ์ ์ฝ์ด๋ ์ ๋ฐ ๋ณ์๋ช ์ผ๋ก ์ฐ์ง ๋ง๋ผ
ex) O, L, l
- ์ฝ๋ ์ฌ๋์ด ์ฐจ์ด๋ฅผ ์๋๋ก ์ด๋ฆ์ ์ง์ด๋ผ
ex) getAtiveAccount();
getAtiveAccounts();
getAtiveAccountInfo();
์ด ํ๋ก์ ํธ์ ์ฐธ์ฌํ ํ๋ก๊ทธ๋๋จธ๋ ์ด๋ ํจ์๋ฅผ ํธ์ถํ ์ง ์ด๋ป๊ฒ ์๋๊ฐ?
- ์ ๋์ด๋ ์๋ ์ ์์ฑํ ๊ตฌ๋ฅ๋ค๋ฆฌ ์ฝ๋๋ผ๋ ์งํ์ด๋ค.
ex) m_dsc
- ํด๋์ค ์ด๋ฆ๊ณผ ๊นจ์ฒด ์ด๋ฆ์ ๋ช ์ฌ๋ ๋ช ์ฌ๊ตฌ๊ฐ ์ ํฉํ๋ค. ๋ฉ์๋ ์ด๋ฆ์ ๋์ฌ๋ ๋์ฌ๊ตฌ๊ฐ ์ ํฉํ๋ค.
- ๋ช ๋ฃํ ์ด๋ฆ์ด ์ต๊ณ ๋ค. ์ธ์ด ์ ํฌ, ๋๋ด์ ํผํ๋ผ. ๋ง์ฅ๋์ ํ์ง๋ง๋ผ.
- ์ด๋ฆ์ ๋ถํ์ํ ๋งฅ๋ฝ์ ์ถ๊ฐํ์ง ์๋๋ก ์ฃผ์ํ๋ค.
์๋ฏธ์๋ ๋งฅ๋ฝ์ ์ถ๊ฐํ๋ผ
์๋ ์ฝ๋๋ ๊ทธ๋ฅ ๋ฉ์๋๋ง ํ์ด์๋ ์ธ ๋ณ์์ ์๋ฏธ๊ฐ ๋ถ๋ถ๋ช ํ๋ค.
private void printGuseeStaatistics(char candidate, int count) {
String number;
String verb;
String pluralModifier;
if(count == 0){
number = "no";
verb = "are";
pluralModifier = "s"
} else if(count == 1) {
number = "1";
verb = "is";
pluralModifier = ""
} else {
number = Integer.toString(count);
verb = "are";
pluralModifier = "s"
}
String guessMessage = String.format(
"There %s %s %s %s", verb, number, candidate, pluralModifier
);
print(guessMessage);
}
์ผ๋จ ํจ์๊ฐ ์ข ๊ธธ๋ค. ๊ทธ๋ฆฌ๊ณ ์ธ ๋ณ์๋ฅผ ํจ์ ์ ๋ฐ์์ ์ฌ์ฉํ๋ค.
ํจ์๋ฅผ ์์ ์กฐ๊ฐ์ผ๋ก ์ชผ๊ฐ๊ณ ์ GuessStatisticsMessage ๋ผ๋ ํด๋์ค๋ฅผ ๋ง๋ ํ ์ธ ๋ณ์๋ฅผ ํด๋์ค์ ๋ฃ์ด๋ผ.
๊ทธ๋ฌ๋ฉด ์ธ ๋ณ์๋ ๋งฅ๋ฝ์ด ๋ถ๋ช ํด์ง๋ค. (์ฆ, ์ธ ๋ณ์๋ ํ์คํ๊ฒ GuessStatisticsMessage์ ์ํ๋ค.)
์ด๋ ๊ฒ ๋งฅ๋ฝ์ ๊ฐ์ ํ๋ฉด ํจ์๋ฅผ ์ชผ๊ฐ๊ธฐ๊ฐ ์ฌ์์ง๋ฏ๋ก ์๊ณ ๋ฆฌ์ฆ๋ ์ข ๋ ๋ช ํํด์ง๋ค.
public class GuessStatisticsMessage {
private String number;
private String verb;
private String pluralModifier;
public String make(char candidate, int count){
createPluralDependenMessageParts(count);
return String.format(
"There %s %s %s %s",
verb, number, candidate, pluralModifier
);
}
}
private void printGuseeStaatistics(int count) {
if (count == 0) {
thereAreNoLetters(0);
} else if (count == 1) {
thereIsOneLetter(0);
} else {
thereAreManyLetters(0);
}
}
private void thereAreNoLetters(){
number = "no";
verb = "are";
pluralModifier = "s"
}
private void thereIsOneLetter(){
number = "1";
verb = "is";
pluralModifier = ""
}
private void thereAreManyLetters(int count){
number = Integer.toString(count);
verb = "are";
pluralModifier = "s"
}
'์ฑ ๋ฆฌ๋ทฐ > ํด๋ฆฐ์ฝ๋(์ฑ ๋ฆฌ๋ทฐ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํด๋ฆฐ์ฝ๋] 1์ฅ ๊นจ๋ํ ์ฝ๋ (0) | 2022.12.08 |
---|---|
[3์ฅ] ํจ์ : ํจ์ ๋น ์ถ์ํ ์์ค์ ํ๋๋ก! (0) | 2021.12.27 |