깨끗한 코드란?
- 중복을 피한 코드
- 한 기능만을 수행하는 코드
- 명확하게 표현하는 코드
- 작게 추상화한 코드
- 짐작했던 기능이 그대로 수행되는 코드
의미 있는 이름
- 의도한 분명한 이름을 짓자.
- 수행기능, 사용방법 등…
- 만약 주석이 필요하다면 이름만으로 의도를 드러내지 못했다는 것.
- 예약어를 사용하지말자
- ex) 여러 계정을 그룹으로 묶을때,
- accountList → 프로그래머에게 List는 자료구조를 의미하는 특수한 의미
- accountGroup, bunchOfAccount, Accounts 등으로 명명하자.
- 실제 해당 자료구조 컨테이너가 List더라도 변수 이름에 List는 피하자.
- ex) 여러 계정을 그룹으로 묶을때,
- 서로 흡사한 이름을 사용하지 말자.
- 읽기에 명확한 단어로 적기
- Bad ex)
- int a = l;
- if( O == l)
- a = o1;
- Bad ex)
- 읽는 사람이 차이를 알 수 있도록 작성
- moneyAcount , money
- AccountData, Account
- theMessage, msessage
- 발음하기 쉬운 이름을 사용하라.
- private Date genyamdhms; X
- private Date generationTimestamp; O
- 검색하기 쉬운 이름을 사용하라
- 숫자를 그대로 작성하기보다는 상수로 표현할 수 있는 부분은 상수로 표현해 검색하기 쉽게 작성하자.
클래스 이름
- 명사나 명사구가 적합.
- Customer, WikiPage, Account, AddressParser O
- Manager, Proceessor, Data, Info X
동사는 사용하지 않는다.
메서드 이름
- 동사나 동사구가 적합.
- postPayment, deletePage, saveXxx O
- 접근자 : getXxx()
- 변경자: setxxx()
- 조건자: isXxx()
한 개념에 한 단어만 사용하기.