다히의 개발일지
[Clean Code] 2장. 의미 있는 이름 본문
[의도를 분명히 밝혀라]
의도가 분명하게 이름을 지어야 한다.
변수(혹은 함수나 클래스)의 존재 이유? 수행 기능? 사용 방법? 이러한 굵직한 질문에 모두 답할 수 있어야 한다.
코드의 함축성
//의미가 없는 코드
public List<int []> getThem(){
List<int []> list1 = new ArrayList<int []>();
for(int [] x : thisList) //for문을 도는 동안 배열 thisList 안의 값을 배열 x에 넣는다.
if (x[0] ==4)
list1.add(x);
return list1;
}
//if, thisList가 게임판이라고 했을 때
public List<int []> getFlaggedCells(){
List<int []> flaggedCells = new ArrayList<int []>();
if(cell[STATUS_VALUE] ==FLAGGED)
flaggedCells.add(cell);
return flaggedCells;
}
//좀 더 명시적인 함수를 사용
public List<Cell> getFlaggedCells(){
List<Cell> flaggedCell = new ArrayList<Cell>();
for(Cell cell : gameBoard)
if(cell.isFlagged())
flaggedCells.add(cell);
return flaggedCells;
}
[그릇된 정보를 피하라]
예를 들어, 프로그래머에게 List는 특수한 의미이다.
계정을 담는 컨테이너가 List가 아니라면 그릇된 정보를 제공하는 것이다.
또한, 일관성이 떨어지는 표기법은 그릇된 정보를 제공하는 것이다.
[의미있게 구분하라]
읽는 사람이 차이를 알도록 구분해서 이름을 지어야 한다.
[발음하기 쉬운 단어를 사용해라]
[검색하기 쉬운 이름을 사용해라]
이름 길이는 범위 크기에 비례해야 한다. 예를 들어,
'다히의 피땀눈물 > CLEAN CODE' 카테고리의 다른 글
[Clean Code] 1장. 깨끗한 코드 (0) | 2019.07.31 |
---|