728x90
의미있는 이름(Meaningful Names)
독자의 입장에서 고려하자.
gubun, gbn, sabun, yuji 등 변수명만을 보고 어떤 데이터를 저장하고 있는지 예측이 되는가?
- 첫 번째 규칙: 의도를 분명히 밝혀라.
- 코드의 저자의 의도가 명확하게 파악된다.
- 코드가 위에서 아래로 술술 읽힌다.
- 코드의 맥락이 명시적이다.
- 두 번째 규칙: 그릇된 정보를 피하라.
- 세 번째 규칙: 의미있게 구분하라.
- 네 번째 규칙: 발음하기 쉬운 이름으로 정하자.
- 다섯 번째 규칙: 검색하기 쉬운 이름을 사용하자.
- 로그 검색 용이성
- 여섯 번째 규칙: 타입과 관련된 문자열을 넣지 말아라.
- 일곱 번째 규칙: 한 개념에 한 단어를 사용하라.
- 일관성있는 어휘를 선택해서 이름을 붙이자.
- ex) Controller-fetch, Service-get
- 여덟 번째 규칙: 의미 있는 맥락을 추가하라.
- 맥락을 좀 더 분명하게 하기위해서 addr이라는 접두어를 붙인다.
- 아홉 번째 규칙: 불필요한 맥락을 없애라.
- 의미없는 접두사를 붙이지 말자.
- 의미가 명확하게 전달되는 긴 변수명으로 변경하자.
Function: 한 가지만 해라
- 명령과 조회를 분리해라
- isExistedDirectory
- makeDirectory
- 오류 코드보다 예외를 사용하라
- Enum 클래스로 코드를 정의해서 분기 처리를 하는 것보다 try catch 문을 이용해서 예외를 처리하는 것이 좋다.
Object & Structure: 객체와 자료 구조
- 캡슐화
- DTO가 아닌 이상, getter, setter 사용은 지양해야 한다.
- 외부 객체에서 접근하는 메서드만 열어놓고, 내부 상태를 변경하는 행동은 내부 객체에서만으로 접근 제어하자.
728x90
'책 - 요약 정리 > 클린 코드' 카테고리의 다른 글
객체와 자료 구조 (0) | 2023.09.06 |
---|---|
3장. 함수 (0) | 2023.09.01 |
2장. 의미 있는 이름 (0) | 2023.08.31 |