Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

다히의 개발일지

[Clean Code] 2장. 의미 있는 이름 본문

다히의 피땀눈물/CLEAN CODE

[Clean Code] 2장. 의미 있는 이름

mindarrrr 2019. 8. 1. 15:28

[의도를 분명히 밝혀라]

 

의도가 분명하게 이름을 지어야 한다.

변수(혹은 함수나 클래스)의 존재 이유? 수행 기능? 사용 방법?  이러한 굵직한 질문에 모두 답할 수 있어야 한다.

 

코드의 함축성

//의미가 없는 코드
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