N1 : 서술적인 이름을 사용하라
- 이름을 신중하게 선정한다. 소트프웨어가 진화하면 의미도 변하므로 이름이 적합한지 자주 되돌아본다.
N2 : 적절한 추상화 수준에서 이름을 선택하라
- 구현을 드러내는 이름은 피해야 한다.
- 작업 대상 클래스나 함수가 위치하는 추상화 수준을 반영하는 이름을 선택한다.
- Modem 클래스는 전화번호로만 등록되지 않는다.
- getConnectedPhoneNumber() 보다는 getConnectedLocator() 로 이름을 짓고, 아래 메서드에서 추상화를 진행하여 전화번호, USB 등 여러 연결 방식에도 사용 가능하도록 한다.
N3 : 가능하다면 표준 명명법을 사용하라
- Decorator 패턴을 활용한다면, 장식하는 클래스 이름에 Decorator 라는 단어를 사용해야 한다.
- toString
- By~
- 등등 표준으로 정해진 명명법을 사용한다.
N4 : 명확한 이름
- doRename, renamePage 는 이름으로 두 메서드의 역할을 구분하기 쉽지 않다.
- 길어도 서술적이고 명확한 이름을 정한다.
N5 : 긴 범위는 긴 이름을 사용하라
- 이름 길이는 범위 길이에 비례해야 한다.
- 범위가 5줄 안팎이면 i, j와 같은 변수 이름도 괜찮다.
N6 : 인코딩을 피하라
N7 : 이름으로 부수 효과를 설명하라
- 메서드가 하는 일을 모두 기술하는 이름을 사용한다.
- oos 를 가져오고 만약 없으면 생성하는 메서드의 이름은 getOos() 로 충분치 않다.
- createOrReturnOos() 가 더 적절할 것이다.
'책읽기 > 클린코드' 카테고리의 다른 글
냄새와 휴리스틱 - 테스트 (0) | 2021.01.26 |
---|---|
냄새와 휴리스틱 - 자바 (0) | 2021.01.26 |
냄새와 휴리스틱 - 일반 (0) | 2021.01.26 |
냄새와 휴리스틱 - 함수 (0) | 2021.01.26 |
냄새와 휴리스틱 - 환경 (0) | 2021.01.26 |