DAY 20
🔖 오늘 읽은 범위 : 10장. 클래스 (p. 171 ~ )
<aside>
😃 책에서 기억하고 싶은 내용을 써보세요.
</aside>
- 깨끗한 클래스 체계: public/private 상수 → public/private 변수 → public/private 인스턴스 변수 → public/private 함수 순 (순차적인 추상화 단계 순)
- 변수와 유틸리티는 가능한 공개하지 않는다. (테스트 코드는 예외)
- 클래스는 작아야한다! - 클래스가 맡은 책임의 갯수로 판단
- 책임이 많은지 확인하기 (p. 175)
- 클래스 이름에 책임이 기술되어있는가?
- Processor, Manager, Super등 모호한 단어가 포함되어있지 않은가?
- 클래스 설명에 if, and, or, but을 사용하지 않고 25단어..? 내외로 설명 가능한가?
- 단일 책임 원칙 (Single Responsibility Principle) (p. 177)
- 큰 클래스 x → 작은 클래스 여러개 o
- 이는 시스템의 규모가 클수록 중요해진다.
- 응집도 (p. 177 ~ 178)
- 응집도는 낮은 것이 좋다. 하지만 응집도를 높이면 클래스를 쪼개기 쉽다.
<aside>
🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
</aside>
클래스가 너무 많으면 정신없고 감당이 안된다는 생각이 들었는데 이런 안일한 생각을 간파하는 내용이 있어서 놀랐다.
하지만 작은 클래스가 많은 시스템이든 큰 클래스가 몇 개뿐인 시스템이든 돌아가는 부품은 그 수가 비슷하다. (p. 177)
작은 클래스를 여러개 만드는 것은 시스템이 커질수록 중요하다는 점을 잊지 말아야겠다.
그리고 응집도는 무조건 낮아야 한다고 생각했는데 응집도를 높여서 클래스를 쪼개는 방법은 참신했다.
<aside>
🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
</aside>
기록하신 TIL을 공유해주세요 - TIL 출석표
클린코드_스케쥴러_TIL 출석표 (노개북1기)