클린 코드 - 2장 의미 있는 이름
범위
- 2장 의미 있는 이름
요약
- 명료한 이름을 선택하라.
책에서 기억하고 싶은 내용
- 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.
- 의도가 드러나는 이름을 사용하면 코드 이해와 변경이 쉬워진다.
- 코드에 그릇된 단서를 남겨서는 안 된다.
- 유사한 개념은 유사한 표기법을 사용한다.
- 불용어는 중복이다.
- 발음하기 쉬운 이름은 중요하다.
- 이름 길이는 범위 크기에 비례해야 한다.
- 헝거리식 표기법이나 기타 인코딩 방식이 오히려 방해가 될 뿐이다.
- 클래스와 함수는 접두어가 필요없을 정도로 작아야 마땅하다.
- 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다.
- 클래스 이름과 객체 이름은 명사나 명사구가 적합하다.
- 메서드 이름은 동사나 동사구가 적합하다.
- 재미난 이름보다 명료한 이름을 선택하라.
- 의도를 분명하고 솔직하게 표현하라
- 일관성 있는 어휘는 코드를 사용할 프로그래머가 반갑게 여길 - 선물이다.
- 한 단어를 두 가지 목적으로 사용하지 마라.
- 프로그래머는 코드를 최대한 이해하기 쉽게 짜야 한다. 집중적인 - 탐구가 필요한 코드가 아니라 대충 훑어봐도 이해할 코드 작성이 - 목표다. 의미를 해독할 책임이 독자에게 있는 논문 모델이 아니라 - 의도를 밝힐 책임이 저자에게 있는 잡지 모델이 바람직하다.
- 해법 영역에서 가져운 이름을 사용하라
- 전산 용어, 알고리름 이름, 패턴 이름, 수학 용어 등을 사용해도 - 괜찮다.
- 문제 영역에서 가져온 이름을 사용하라
- 적절한 ‘프로그래머 용어’가 없다면 문제 영역에서 이름을 가져온다.
- 클래스, 함수, 이름 공간에 넣어 맥락을 부여한다.
- 불필요한 맥락을 없애라
- 우리는 문장이나 문단처럼 읽히는 코드가 아니면(정보를 표시하는 - 최선의 방법이 항상 문장만은 아니므로) 적어도 표나 자료구조처럼 - 읽히는 코드를 짜는 데만 집중해야 마땅하다.
- 함수의 의도나 인수의 순서와 의도를 제대로 표현하려면 좋은 함수 - 이름이 필수다.
- 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야 한다.
- 오류 코드 대신 예외를 사용하면 오류 처리 코드가 원래 코드에서 - 분리되므로 코드가 깔끔해진다.
소감
- 이름을 짓는 건 언제나 너무너무너무 어렵다.
- 핵심
- 발음하기 쉬운 이름
- 이름 길이는 범위 크기에 비례해야 한다.
- 명료성
- 클래스 이름과 객체 이름은 명사나 명사구가 적합하다.
- 메서드 이름은 동사나 동사구가 적합하다.
- 일관성
- 맥락
- 그리고, 언제나 독자를 생각하라.
- 이름 길이는 짧으면 명료하지 못한 이름이 될 가능성이 높아지고, 길면 코드 보기에 안 좋아져서 언제나 너무 어렵다. 어느 정도 길이가 적당할까?
This post is licensed under CC BY 4.0 by the author.