본문 바로가기
프로그래밍 놀이터/디자인 패턴, 리펙토링

[Clean Code] 의미 있는 이름.

by 돼지왕 왕돼지 2012. 2. 28.
반응형


□ 의도를 분명히 밝혀라.



□ 그릇된 정보를 피하라. 
  - 약어는 피하는 편이 좋다, 
  - List 가 아니면 list 라는 변수명을 쓰지 않는다. ( 예를 들자면.. )


□ 일관성 있는 이름을 써라. 
 -  한쪽에서 write 로 썼으면 계속 write 를 써라, state 등으로 일관성을 깨지 마라.


□ 의미 있게 구분하라.
  - a1, a2, data, info 이런 의미가 불분명한 녀석은 의미있는 언어로 치환하라. 
  - account, accounts, accountInfo, accountData 처럼 비슷하면서 구분이 안 되는 녀석은 확연히 구분되게 하라.


□ 발음하기 쉽고 이해하기 쉬운 이름을 사용하라.
  - 그래야 의사소통이 쉽다.


□ 검색하기 쉬운 이름을 사용하라.
  - 매직 넘버는 전역상수로 치환하라.


□ 인코딩을 피하라.
  - 헝가리식 표기법 ( 변수이름에 타입 붙이기 i.e) intSalary ) 를 피하라.
  - 맴버변수 접두어 ( 논란이 많다. )
  - 인터페이스 클래스와 구현 클래스. ( 논란이 많다. )


□ 자신의 기억력을 자랑하지 마라.
 - temp 변수라도 자신만 기억할 수 있는 변수보다는, 모두가 알아볼 수 있는 naming 을 한다.


□ 클래스 이름과 변수 이름은 명사나 명사구.


□ 메소드 이름은 동사나 동사구.


□ 기발한 이름은 피하라.
  - 모두가 알아들을 수 있는 이름으로 하라.


□ 개념 하나에 단어 하나를 사용하라.
  - fetch, retrieve, get 이라는 비슷한 개념 하나를 돌려가며 쓰지 말고, 하나로 통일해서 써라.


□ 말장난을 하지 마라.
  - 다른 개념에 같은 단어를 쓰지 마라. 


□ 해법 영역에서 사용하는 이름을 사용하라.
  - 모두가 사용하는 용어( pattern 이름이라던지. ) 는 사용하는것이 유용할 때가 많다.


□ 의미있는 맥략을 추가하라.
  - state 보다는 addrState 로 더 clear 하게 의미전달 가능한 맥락을 추가한다.


□ 불필요한 맥락을 없애라.
  - 의미가 분명한 경우에는 짧은 이름이 훨씬 낫다.


반응형

댓글