(Feb. 20. 2022.) 2장. 의미 있는 이름
기억하고 싶은 내용
- 의미있는 이름이란:
- 의도가 분명하다.
- 그릇된 정보(모호한 축약어, 겁나 비슷한 이름, 소문자 l 혹은 대문자 O)를 피한다.
- 불용어(아무런 정보도 없음, 의미 불분명, 중복)는 피한다.
- 한 개념에 한 단어를 선택해서, 일관적이다.
- 의미 있는 맥락을 추가한다. (클래스, 함수, 이름 공간에 넣어 맥락을 부여하거나, 접두어를 붙인다.)
- 불필요한 맥락은 추가하지 않는다.
- 프로그래머는 코드를 최대한 이해하기 쉽게 짜야 한다. 대충 훑어봐도 이해할 코드 작성이 목표다.
- 좋은 이름을 선택하려면 설명 능력이 뛰어나야 하고 문화적인 배경이 같아야 한다.
소감
- 영어가 모국어인 사람들은 이 분야에서 공부를 하거나 일을 하는 데 그렇지 않은 사람들보다도 훨씬 수월하겠다는 생각을 자주 한다. 특히 네이밍에 있어서 영어권 사람들은 훨씬 수월하게 접근할 수 있지 않을까. 부럽다.
궁금한 내용 / 잘 이해되지 않는 내용
- 변수 그 자체로 의도를 밝히고 표현력을 높이려 하다보니, 그 이름이 너무 길어지는 경우도 많았다. storeReasonForOutOfServiceZipCode 같은 거... 굉장히 self-explanatory하긴 하지만, 이 변수가 포함되는 코드 라인은 길이가 너무 길어져서 불편하기도 하다. 책에서도 "일반적으로는 짧은 이름이 긴 이름보다 좋다"고 한다. 이럴 땐 어떤 규칙으로 밸런스를 맞추는 게 좋은지 궁금하다.