🩵 TIL (Today I Learned)
- 의도를 분명히 밝혀라
- 변수, 함수의 존재 이유 / 수행 기능 / 사용 방법 을 주석 없이 설명할 수 있어야 함
- 그릇된 정보를 피하라 (List가 아닌데 List라고 명명)
- 의미 있게 구분하라
- 동일한 범위 안에서는 다른 두 개념에 같은 이름을 사용하면 안됨
- 읽는 사람이 차이를 알도록 명명
- 검색하기 쉬운 이름을 사용하라
- 인코딩을 피하라
- 헝가리식 표기법처럼 타입을 이름에 넣는다는 것과 같은 행위 지양
- 기억력을 믿지 마라
- i,j,k 까지는 괜찮음. l 이상 사용 X, a,b,c 같은 명명도 지양
- 한 개념에 한 단어를 사용하라
- fetch,retrieve,get을 혼용해서 쓰지 않기
- 불필요한 맥락은 제거하라
- 의미가 분명한 경우는 이름에 불필요한 맥락을 넣지 않기
// as-is
public List<int[]> getThem() {
List<int[]> list1 = new ArrayList<int[]>();
for(int[] x : theList)
if(x[0] == 4)
list1.add(x);
return list1;
}
// to-be
public List<int[]> getFlaggedCells() {
List<int[]> flaggedCells = new ArrayList<int[]>();
for(int[] cell : gameBoard)
if(cell[STATUS_VALUE] == FLAGGED)
flaggedCells.add(cell);
return flaggedCells;
}
- 명명 규칙
- 클래스 이름
- 명사나 명사구가 적합
- Manager, Processor, Data, Info 와 같은 단어는 지양
- 메서드 이름
- 동사나 동사구가 적합
- 접근자, 변경자, 조건자는 get,set,is를 붙임
- 클래스 이름
명명 규칙만 지키더라도 코드 가독성이 높아지고 장기적인 이익까지 보장한다. 기존 개발자가 사용했던 이름을 고수하는 것만이 옳은 것은 아니다. 더 좋은 단어가 있다면 과감하게 수정하는 일도 필요하다.
💜 오늘 읽은 범위
2장 의미있는 이름
🩶 기록
controller Req -> ctReq 라는 이름으로 명명을 제안받은 적이 있었다. 불필요한 축약어의 사용은 다른 개발자의 가독성을 위해서 지양하는 편은 아니다. 이 장에서도 읽기 어려운 이름을 지양하라는 내용과 길고 가독성이 있는 이름이 더 효과적이라고 설명하고 있다. 가독성이 좋고, 불필요한 맥락이 들어가지 않는 네이밍에 대해 좀 더 고찰할 수 있는 계기가 되었다.
'BOOK Review' 카테고리의 다른 글
[클린코드] TIL - 6장 객체와 자료 구조 (0) | 2024.06.30 |
---|---|
[클린코드] TIL - 5장 형식 맞추기 (0) | 2024.06.30 |
[클린코드] TIL - 4장 주석 (0) | 2024.06.25 |
[클린 코드] TIL - 3장 함수 (0) | 2024.06.25 |
[클린 코드] TIL - 1장 깨끗한 코드 (0) | 2024.06.22 |