Notice
Recent Posts
Recent Comments
Link
코드로 우주평화
의미 있는 이름 본문
반응형
제목 : 클린 코드
저자 : 로버트 C. 마틴
범위 : 2장 의미 있는 이름
기억하고 싶은 것
- 그릇된 정보를 피하라
- 서로 흡사한 이름을 사용하지 않도록 주의한다.
- 의미 있게 구분하라 (읽는 사람이 차이를 알도록 이름을 지어라)
- 연속적인 숫자를 덧붙인 이름은 의도적인 이름과 정반대다.
- 요지는 zork라는 변수가 있다는 이유만으로 theZork라 이름 지어서는 안 된다는 말이다.
- 주의 : info, data, variable, table 등
- 발음하기 쉬운 이름을 사용하라
- 검색하기 쉬운 이름을 사용하라
- 긴 이름이 짧은 이름보다 좋다.
- 검색하기 쉬운 이름이 상수보다 좋다.
- 이름 길이는 범위(스코프) 크기에 비례해야 한다.
- 전역변수나 상수는 검색하기 쉬운 이름이 바람직하다.
- 자신의 기억력을 자랑하지 마라
- 문자 하나만 사용하는 변수 이름은 문제가 있다.
단 루프에서 반복 횟수를 세는 i,j,k는 괜찮다. (l은 절대 안된다) - 최악은 이미 a와 b를 사용하므로 c를 선택한다는 논리다.
- 문자 하나만 사용하는 변수 이름은 문제가 있다.
- 명료함이 최고다.
- 클래스 이름
- 명사나 명사구가 적합하다.
- manager, processor, data, info 등과 같은 단어는 피하고 동사는 사용하지 않는다.
- 매서드 이름
- 동사나 동사구가 적합하다. post, delete, save 등
- 접근자, 변경자, 조건자는 앞에 get, set, is를 붙인다.
- 똑같은 매서드를 클래스마다 fetch, retrieve, get으로 제각각 부르면 혼란스럽다.
- 일관성 있는 어휘를 사용하라
- 의미 있는 맥락을 추가하라
- 예) name, city, state -> addrName, addrCity, addrState 로 변경
- 같은 맥락으로 클래스를 생성하면 더 좋다.
- 불필요한 맥락을 없애라
- 모든 클래스에 앱 이름을 붙이는 것은 바람직하지 못하다.
- 이름 역시 나름대로 바꿨다가는 누군가 질책할지도 모른다. 그렇다고 코드를 개선하려는 노력을 중단해서는 안 된다.
떠오르는 생각
- 좋은 이름을 짓기 위해서는 어떤 방법을 생각해볼 수 있을까?
- 방법1. 좋은 레퍼런스 코드들을 수집하고 거기서 자주 사용하는 이름들을 모아본다.
- 방법2. 나만의 이름 템플릿을 만들어 일관성 있는 어휘를 사용한다.
- 방법3. 이름에 대한 체크리스트를 만들어 잘못된 이름을 사용하고 있지는 않은지 확인한다.
반응형
'나는 이렇게 본다 > Clean Code' 카테고리의 다른 글
원활한 소통을 장려하는 코드 형식은 무엇일까? (0) | 2022.02.01 |
---|---|
주석은 언제나 실패를 의미한다. (0) | 2022.01.31 |
함수를 어떻게 짜죠? (0) | 2022.01.28 |
깨끗한 코드야말로 더 빨리 가는 유일한 방법 (0) | 2022.01.23 |
소프트웨어는 80% 이상이 '유지보수'다 (0) | 2022.01.22 |