첫 번째 장 : 좋은 이름 붙이기
피해야 하는 명명법
- 그릇된 정보 피하기 - 실제 List가 아닌 변수를 -List라 명하지 않기
- 의미없는 변수명 피하기 - a1, a2, a3 같은 연속적인 숫자를 덧붙인 이름이나, Info, Data와 같이 의미가 불분명한 용어 추가하지 않기(Product와 ProductInfo의 차이는? 구분 못함…)
- 발음하기 어려운 이름
- 검색하기 어려운 이름(ex: 한 글자짜리 이름) - 한 문자 이름은 간단한 메서드에서 로컬 변수일 때만.(이름 길이는 범위 크기에 비례해야 한다)
- 인코딩한 이름
- 본인만 기억하는 이름
- 기발한 이름
추천하는 명명법
- 클래스/객체 : 명사나 명사구 사용하기. Manager, Processor, Data, Info 등과 같은 단어는 피하고 동사는 사용하지 않기
- 메서드 이름 : 동사나 동사구가 적합. 접근자, 변경자, 조건자는 값 앞에 get, set, is 붙이기
- 한 개념에 한 단어 사용하기 - 클래스마다 똑같은 메서드를 fetch, retrieve, get으로 제각각 부르면? 혼란스러움. 일관성 있는 어휘 사용하기
- But. 같은 맥락이 아닌데도 일관성을 고려해 같은 단어를 선택하진 말 것(한 단어를 두 가지 목적으로 사용하지 말라)
- 전산 용어, 알고리즘 이름, 패턴 이름 등 프로그래머 용어를 사용해도 괜찮음(코드를 읽을 사람도 프로그래머)
- 적절한 프로그래머 용어가 없으면 문제 영역에서 이름 가져오기