클래스 이름
- 명사나 명사구
- good : Customer, WikiPage, Account, AddressParser
- bad : Manage, Processor, Data, Info
메서드 이름
- 동사나 동사구
- good : postPayment, deletePage, save
- 접근자, 변경자, 조건자 : get, set, is를 붙인다.
- 생성자를 중복정의 할 때 : 정적 팩토리 메서드를 사용
- good : Complex fulcremPoint = Complex.FromRealNumber(23.0);
- bad : Complex fulcrumPoint = new Complex(23, 0);
- 생성자 사용 제한 : private 선언
기발한 이름은 피하라
한 개념에 한 단어를 사용하라
- 추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다.
- 메서드 이름은 독자적이고 일관적이어야 한다.
말 장난을 하지마라
해법 영역에서 가져온 이름을 사용하라.
- 코드를 읽을 사람도 프로그래머라는 사실을 명심한다.
<모르는 용어>
문제 영역에서 가져온 이름을 사용하라.
- 적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져온다.
- 분야 전문가에게 의미를 물어 파악할 수 있다.
- 우수한 프로그래머와 설계자라면 해법 영역과 문제 영역을 구분할 줄 알아야 한다.
의미 있는 맥락을 추가하라.
- 클래스, 함수, 이름 공간에 넣어 맥락을 부여한다.
- 모든 방법이 실패하면 마지막 수단으로 접두어를 붙인다.
- 클래스를 생성하여 변수가 좀 더 큰 개념에 속한다는 사실을 컴파일러에게 분명하게 할 수 있다.
<모르는 용어>