티스토리 뷰
1. 의도를 분명하게 밝혀라
잘못된 예 : int d; ->아무 의미도 드러나지 않다
int daysSinceCreation;
int fileAgeInDays;
와 같이 분명한 정보 제공을 해줘야한다
2. 그릇된 정보를 피하라
여러 계정을 그룹으로 묶을 때, 실제 List가 아니라면 accountList라 명명하지않는다
계정을 담는 컨테이너가 실제 List가 아니라면 그릇된 정보를 제공하는 셈이다
그러므로 accountGroup, bunchOfAccounts 같은 이름으로 명명한다
-> 주의주의
3. 의미 있게 구분하라
ex) getActiveAccount();
getActiveAccounts();
getActiveAccountInfo();
프로젝트에 참여한 사람은 셋 중 어느 함수를 호출할지 알 수 없다
읽는 사람이 차이를 알도록 이름을 지어야 한다
4. 발음하기 쉬운 이름을 사용하라
ex ) private Date genymdhms;
VS
private Date generationTimestamp;
5. 검색하기 쉬운 이름을 사용하라
6. 인코딩을 피하라
7. 자신의 기억력을 자랑하지 마라
똑똑한 프로그래머와 전문가 프로그래머 사이에서 나타나는 차이점 하나만 들자면, 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다 31p
8. 클래스 이름
클래스 이름과 객체 이름은 명사나 명사구가 적합하다
Customer, WikiPage, Account, AddressParse 등이 좋은 예고,
Manager, Processor, Data, Info 같은 단어는 피하고 동사는 사용하지 않는다
9. 메서드 이름
메서드 이름은 동사나 동사구가 적합하다
ex) postPayment, deletePage, save 등
10. 기발한 이름을 피하라
11. 한 개념에 한 단어를 사용하라
똑같은 메서드에 fetch, retrieve, get으로 제각각 부르면 혼란스럽다
12. 말장난을 하지 마라
13. 해법 영역에서 가져온 이름을 사용하라
전산용어, 알고리즘 이름, 패턴 이름 , 수학 용어를 사용해도 괜찮다
-> ? 나는 안 괜찮음
14. 문제 영역에서 가져온 이름을 사용하라
적절한 용어가 없다면 문제 영역에서 이름을 가져온다.
문제 영역 개념과 관련이 깊은 코드라면 문제 영역에서 이름을 가져와야 한다.
15. 의미 있는 맥락을 추가하라
firstName, LastName, street, houseNumber, state, zipCode라는 변수가 있고, 변수를 보면 주소라는 사실을 금방 알아챌 수 있다. 하지만 메서드가 state라는 변수 하나만 있다면 주소 일부라는 사실을 금방 알아채기 힘들다
그래서 보통 addr이라는 접두어를 추가하여 addrFirstName, addrState라 쓰면 맥락이 좀 더 분명해진다
물론 Address라는 클래스를 생성하면 더 좋다
16. 불필요한 맥락을 없애라
'책 > 클린코드' 카테고리의 다른 글
클린코드 13장 (0) | 2021.12.27 |
---|---|
클린코드 10~12장 (0) | 2021.12.24 |
클린코드 7~9장 (0) | 2021.12.23 |
클린코드 4장 - 주석 (0) | 2021.07.22 |
클린코드 - 3장 함수 (0) | 2021.07.14 |
- Total
- Today
- Yesterday