오늘 읽은 범위
2장 의미 있는 이름
책에서 기억하고 싶은 내용
의도를 분명이 밝혀라. ... 존재 이유는? 수행 기능은? 사용 방법은? (p.22)
실제 컨테이너가 List인 경우라도 컨네이터 유형을 이름에 넣지 않는 편이 바람직하다. (p.24)
읽는 사람이 차이를 알도록 이름을 지어라. (p.27)
프로그래밍은 사회 활동이기 때문이다. (p.27)
전문가 프로그래머는 자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다. (p.32)
한 개념에 한 단어를 사용하라. (p.33)
똑같은 메서드(기능)을 수행하는데 각각 fetch, get ... 등으로 다르게 부르면 혼란스럽다. (p.34)
해법과 문제 영역을 구분할 줄 알아야한다. (p.35)
좋은 이름을 선택하려면 설명 능력이 뛰어나야 하고 문화적인 배경이 같아야 한다. 이것이 제일 어렵다. (p.38)
오늘 읽은 소감
역시 코딩의 시작과 끝은 이름짓기인 것 같다. 사전에 검색해 가며 지을 정도로 이름짓기가 가장 어렵다. 나름대로 명시적으로 하려했지만 책에 나온 예처럼 차이를 구분하기 어렵거나 맥락이 서로 다른 경우가 많았다. 앞으론 더욱 의식하여 네이밍을 해야겠다.
책에 나온 것 같이 이름의 중요성이 상당히 높기 때문에 회사 코드 컨벤션이 하나씩 다 존재하는 이유일 터... 해당 문화에 맞는 좋은 규칙을 정하는게 참 중요한듯 싶다. 우리 회사도 코드 컨벤션을 정하고 있는데, 지금보다 더 열심히 참여해야겠다. 하하 재밌당 :)
더 알아보기 및 키워드
- 서로 차이를 구분하기 힘든 함수명.
getActiveAccounts();
getActiveAccount();
getActiveAccountInfo();
위 함수 명은 내가 자주하는 실수 중 하나이다. (아직도 어렵다고....!!) 하나만 가져오면 One을 붙여 명시적으로!
- 인터페이스 구분
IShapeFactory 보다 ShapeFactoryImp가 명시적. 접두어 비추.
난 사실 접두어 I를 사용했는데, 다른 라이브러리를 참고해 I를 붙여왔다. 짧기도 짧고, 사수분께서도 I 접두어를 사용하셨기 때문에 별다른 문제를 못 느꼈다. 자바를 사용할땐 Imp를 사용하긴 했는데... 흠 typescript는 I접두어가 흔한걸까? 아무튼 위 부분은 회사 코드 컨벤션에 따라 달라질듯 싶다.
- 이름으로 말장난하지 말기
새 메서드는 기존 add 메서드와 맥락이 다르다. 그러므러 insert나 append라는 이름이 적당하다. (p.35)
기존에 add는 인수 a와 b의 합을 뜻했는데, 새 메서드는 this.array에 새로운 인수를 추가한다고 하자. 이때 기존 add와 새 메서드는 맥락이 다르다.
전체 프로젝트에 맥락을 지키기. 나아가 회사의 모든 코드와 맥락을 지키기.
회사의 코드를 만들어나가는 입장에서 후임자에게 부끄럽지 않은 전임자가 되자. 욕먹기 두렵다! 아자아자!
#코딩 #개발자 #노마드북클럽 #노개북
'Learning > bookclub' 카테고리의 다른 글
📓 클린코드 ) 3장 함수 (0) | 2022.03.06 |
---|---|
📓 클린코드 ) 1장 깨끗한 코드 (0) | 2022.02.20 |
📓 클린코드 ) 0. 각오 (0) | 2022.02.19 |