프로젝트 준비하면서 막 만들었던 코드들에 대한 피드백을 받다보니 책을 추천 받아 읽기 시작하여 제 방식대로 요약하였습니다.
한달 안에 다 읽을 예정이며 읽으면서 틈틈이 저의 생각과 책 내용을 정리할 예정입니다.
첫 장에서는 나만 알아보는 코드가 아닌 다른 사람도 읽거나 작업해도 바로 이해할 수 있는 코드를 짜라고 조언한다.
public List<int[]> getThem(){
List<int[]> list1 = new ArrayList<int[]>();
for (int[] x : theList)
if (x[0] == 4)
list1.add(x);
return list1;
}
위 코드를 보면 무슨 일을 하는지 짐작하기 힘들다.
코드의 단순성이 아니라 코드의 함축성이다위 코드 샘플엔 밑에 정보가 드러나지 않는다.
1. theList에 무엇이 들었는가?
2. theList에서 0번째 값이 어째서 중요한가?
3. 값 4는 무슨 의미인가?
4. 함수가 반환하는 리스트 list1 을 어떻게 사용하는가?
public List<int[]> getFlaggedCells(){
List<int[]> flaggedCells = new ArrayList<int[]>();
for (int[] cell : gameBoard)
if (cell[STATUS_VALUE] == FLAGGED)
flaggedCells.add(cell);
return flaggedCells;
}