[클린코드 읽기 챌린지] 220512 10장 클래스
오늘의 과제
기억하고 싶은 내용
- 클래스는 작아야 한다!
- 단일 책임 원칙(Single Responsibility Principle)은 클래스나 모듈을 변경할 이유가 단 하나뿐이어야 한다는 원칙이다.
- 작은 서랍을 많이 두고 기능과 이름이 명확한 컴포넌트를 나눠 넣고 싶은가? 아니면 큰 서랍 몇 개를 두고 모두를 던져 넣고 싶은가?
- 큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다.
- 작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.
- 변경할 이유를 찾다보면 추상화하기가 쉬워진다.
소감
코드를 리팩토링 하다보면 코드가 기존보다 훨씬 길어지는 현상을 책에서 볼 수 있었다. 단순히 짧은 코드보다 최대한 함축적이지만 충분히 설명하는 함수명, 클래스명을 사용하고, 클래스에게 하나의 책임만 주도록 노력해야 겠다.