📌 의미를 분명히 밝혀라
- 좋은 이름을 지으려면 시간이 걸리지만, 좋은 이름으로 절약하는 시간이 훨씬 더 많다.
- 변수, 함수, 클래스 이름은 존재 이유, 수행 기능, 사용 방법에 대해 답할 수 있어야 한다.
- 주석이 필요하다면 의도를 분명히 드러내지 못했다는 의미이다.
- 의도가 드러난다면 코드 이해와 변경이 용이해진다.
📌 그릇된 정보를 피하라
- 코드의 의미를 흐릴 수 있기 때문에 그릇된 단서를 남겨서는 안 된다.
- ex) accountList -> List는 프로그래머에게 특수한 의미이다.
- 유사한 개념은 유사한 표기법을 사용한다. (일관성이 떨어지는 표기법은 그릇된 정보)
📌 의미 있게 구분하라
- 컴파일러를 통과할지라도 연속된 숫자를 덧붙이거나 불용어를 추가하는 방식은 적절하지 못하다.
- 불용어는 중복이다. (변수 이름을 variable, 표 이름을 table이라는 단어도 마찬가지)
📌 발음하기 쉬운 이름을 사용하라
발음하기 어려운 이름은 토론하기도 어렵다.
📌 검색하기 쉬운 이름을 사용하라
- 긴 이름이 짧은 이름보다 나을 경우가 많다.
- 검색하기 쉬운 이름이 상수보다 좋다.
📌 인코딩을 피하라
- 인코딩한 이름은 발음하기 어렵고, 오타가 생기기도 쉽다.
- 클래스와 함수는 접두어가 필요없을 정도로 작아야 마땅하다.
(예를 들어 멤버 변수에 m_이라는 접두어를 붙이는 것은 구닥다리 코드라는 징표이다)
📌 자신의 기억력을 자랑하지 마라
- 문자 하나만 사용하는 변수 이름은 문제가 있다. (루프 반복 횟수를 세는 변수는 괜찮다)
- 명료함이 최고이며, 남들이 이해하는 코드를 내놓아야 한다.
📌 클래스 이름
- 명사나 명사구가 적잡하다.
- Manager, Processor, Data, Info 등과 같은 단어는 피하고, 동사는 사용하지 않는다.
📌 메서드 이름
- 동사나 동사구가 적합하다.
- ex) postPayment, deletePage, save 등
📌 한 개념에 한 단어를 사용하라
- 클래스마다 fetch, retrieve, get으로 제각각 부른다면 혼란스럽다.
- 일관성 있는 어휘는 읽는 사람에게 반갑게 여길 선물이다.
📌 말장난을 하지 마라
모든 add메서드의 매개변수와 반환값이 의미적으로 같으면 문제가 없다.
하지만 맥락이 다른 경우 insert나 append라는 이름이 적당하다.
따라서 말장난을 피하고, 최대한 이해하기 쉽게 짜야 한다.
📌 해법 영역에서 가져온 이름을 사용하라
기술 개념에는 기술 이름이 가장 적합한 선택이다.
📌 문제 영역에서 가져온 이름을 사용하라
- 적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져온다.
- 해법 영역과 문제 영역을 구분할 줄 알아야 한다.
📌 의미 있는 맥락을 추가하라
- 클래스, 함수, 변수 모두 적절하게 맥락이 맞아야 의미가 분명해진다.
- 불필요한 맥락은 없애야 한다.
'책 > CleanCode' 카테고리의 다른 글
✨ Clean Code 7장: 오류 처리 (0) | 2021.01.21 |
---|---|
✨ Clean Code 6장: 객체와 자료구조 (0) | 2021.01.20 |
✨ Clean Code 5장: 형식 맞추기 (0) | 2021.01.14 |
✨ Clean Code 3장: 함수 (0) | 2020.12.15 |
✨ Clean Code 1장: 깨끗한 코드 (0) | 2020.11.20 |