개발자 99% 커뮤니티에서 수다 떨어요!
오늘 TIL 3줄 요약
클래스는 작아야 한다.
클래스나 모듈을 변경할 이유가 단 하나뿐 이어야 한다.
클래스는 상세한 구현이 아니라 추상화에 의존해야 한다.
TIL (Today I Learned) 날짜
2022. 05. 11
오늘 읽은 범위
10장. 클래스
책에서 기억하고 싶은 내용을 써보세요.
함수는 물리적인 행 수로 크기를 측정했다. 클래스는 다른 척도를 사용한다. 클래스가 맡은 책임을 센다. (p. 173)
클래스 이름은 해당 클래스 책임을 기술해야 한다. (p. 175).
클래스 설명은 만일, 그리고, 하며, 하지만을 사용하지 않고 25단어 내외로 가능해야 한다. (p. 175)
큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다. (p. 177)
'함수를 작게, 매개변수 목록을 짧게'라는 전략을 따르다 보면 때때로 몇몇 메서드만이 사용하는 인스턴스 변수가 아주 많아진다. 이는 십중팔구 새로운 클래스로 쪼개야 한다는 신호다. (p. 178)
새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. (p. 188)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
클래스 이름이 클래스에 너무 많은 책임을 떠맡겼다는 증거가 될 수 있다는 걸 보고 저도 뜨끔 했습니다. 저는 클래스보다는 컴포넌트에 너무 많은 책임을 떠넘기는 실수를 종종하는데요. 그래서 컴포넌트를 분리하다보면 또 네이밍이라는 벽에 부딪힐 때가 많습니다. A 컴포넌트, AList 컴포넌트, AListItem 컴포넌트 등등... 이런 컴포넌트 네이밍이 늘어가거든요ㅋㅋㅋㅋ 혹시 저만 그런가요?