정리
코드를 짤 때 이름을 잘 지으면 여러모로 편해진다.
의도를 분명히 밝혀라
- 변수 or 함수 or 클래스의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요한 코드는 의도를 분명히 드러내지 못한 것이다. 코드의 맥락이 코드 자체에 명시적으로 드러나게 해야 한다.
그릇된 정보를 피하라
- 프로그래머는 코드에 그릇된 단서를 남겨서는 안된다. 흡사한 이름을 사용하지 않도록 주의하라. 일관성이 떨어지는 표기법은 그릇된 정보다.
의미 있게 구분하라
발음하기 쉬운 이름을 사용하라
검색하기 쉬운 이름을 사용하라
- 긴 이름이 짧은 이름보다 좋다. 검색하기 쉬운 이름이 상수보다 좋다. 변수나 상수를 코드 여러곳에서 사용한다면 쉬운 이름이 바람직 하다.
인코딩을 피하라
- 클래스와 함수는 접두어가 필요없을 정도로 작아야 마땅하다.
자신의 기억력을 자랑하지 마라
- 독자가 코드를 읽으면서 변수 이름을 자신이 아는 이름으로 변환해야 한다면 그 변수 이름은 바람직 하지 않다. 명료함이 최고이다.
클래스 이름
- 클래스 이름과 객체 이름은 명사나 명사구가 적합하다.
메서드 이름
기발한 이름은 피하라
- 재미난 이름보다는 명료한 이름을 선택하라. 의도를 분명하고 솔직하게 표현해라
한 개념에 한 단어를 사용하라
- 추상적인 개념 하나에 단어 하나를 선택하라. 메서드 이름은 독자적이고 일관적이어야 한다.
말장난을 하지 마라
해법 영역에서 가져온 이름을 사용하라
- 기술 개념에는 기술 이름이 가장 적합한 선택이다.
문제 영역에서 가져온 이름을 사용하라
- 적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져온다.
의미 있는 맥락을 추가하라
- 코드를 훑었을 때 변수들이 어떤 맥락에서 쓰이는지 유추가 가능해야 한다.
불필요한 맥락을 없애라
- 의미가 분명한 경우에 한해, 짧은 이름이 긴 이름보다 좋다. 불필요한 맥락을 추가하지 않도록 주의한다.
느낀 점
코드의 이름을 정할 때 고려할 규칙이 정말 많은 것 같다. 많지만 읽고나니 기본적으로 고려해야 할 원칙이다. 내가 짠 코드를 남이 읽었을 때 이해가 바로 되도록 짜는 연습을 많이 해야할 것 같다!