💁🏻♀️ 노개북 클린코드 챌린지를 진행하며 작성하는 TIL입니다.
Clean Code 책의 핵심 부분을 3주 동안 읽고 새로 배우고 느낀 것을 TIL로 작성합니다.
📖 오늘 읽은 범위
💡 책에서 기억하고 싶은 내용을 써보세요.
- 의도가 분명하게 이름을 지으라. (p.22)
- 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다 (p.22)
- 일관성이 떨어지는 표기법은 그릇된 정보다. (p.25)
- 읽는 사람이 차이를 알도록 이름을 지어라. (p.27)
- 발음하기 쉬운 이름은 중요하다. 프로그래밍은 사회 활동이기 때문이다. (p.27)
- 자신의 기억력을 자랑하지 마라(p.31)
- 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다.(p.31)
- 클래스 이름과 객체 이름은 명사나 명사구가 적합하다. 메서드 이름은 동사나 동사구가 적합하다.(p.33)
- 의도를 분명하고 솔직하게 표현하라.(p.33)
- 일반적으로 짧은 이름이 긴 이름보다 좋다. 단, 의미가 분명한 경우에 한해서다. 이름에 불필요한 맥락을 추가하지 않도록 주의한다.(p.37)
- 우리는 문장이나 문단처럼 읽히는 코드 아니면 적어도 표나 자료 구조처럼 읽히는 코드를 짜는데만 집중해야 마땅하다.(p.38)
✏️ 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
이 책을 읽는 시간은 자기 반성을 하는 시간인 것 같다..
좋은 이름을 짓기 위해 항상 고민은 하지만 사실 스스로 만족스러운 이름을 지은 적이 많지는 않다.
때론 빠른 업무 처리를 위해 '이 정도는 알겠지'라는 생각으로 후딱 다음 라인으로 넘어간 적도 많다.
사실 당시에도 찝찝한 마음을 애써 모른척 넘어갔을텐데, 책을 읽으면서 팩폭 당한 것 같아 마음이 아프다.(ㅋㅋㅋ)
책에 언급되어 있는 것만으로 좋은 이름 짓기란 사실 어려운 것 같다.
좋은 코드를 꾸준히 찾아보면서 다른 개발자들은 어떻게 이름을 지었는지 찾아봐야겠다.
이제 적어도 일관성있는 이름을 짓도록 한번 더 노력하고 의도를 알 수 있는 이름을 지을 수 있도록 한번 더 고민해야겠다. 미래의 나를 위해, 내 동료를 위해!! 내 기억력을 믿지 말고! 주석으로 해결하려고 하지 말자!
❓ 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 핫키(hotkey)
- 강한 타입(strongly-typed)
- 해법 영역과 문제 영역의 구분
- 헝가리식 표기법
- 인터페이스 클래스와 구현클래스 - 이름중 하나를 인코딩 해야한다면 구현클래스 이름을 택하겠다. ShapeFactoryImp나 심지어 CShapeFactory가 IShapeFactory보다 좋다(p.31)
- JobQueue
- VISITOR패턴