🔖 오늘 읽은 범위 : 10장, 클래스 (p.179 ~ p.191)
😀 책에서 기억하고 싶은 내용
큰 함수를 작은 함수 여럿으로 쪼개라.
몇몇 함수가 몇몇 변수만 사용한다면 독자적인 클래스로 분리해라.
변경하기 쉬운 클래스
깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위험을 낮춘다.
개방 폐쇄 원칙Open-Closed Principle
클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다.
새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다.
이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.
시스템의 결합도를 낮추면 유연성과 재사용성도 높아진다.
시스템 요소가 서로 잘 격리되어 있으면 각 요소를 이해하기 더 쉬워진다.
의존 역전 원칙Dependency Inversion Principle
- 클래스는 상세한 구현이 아니라 추상화에 의존해야 한다.
🤔 오늘 읽은 소감은?
- 기존 코드를 변경하지 않고도 새 기능을 수정하는 코드를 작성하려면 진짜 노하우가 많이 쌓여야 할 것 같은 느낌이다.
- 개방 폐쇄 원칙이 설명을 들어도 약간 이해 안됐는데 이번에 이해할 수 있었다.
- 의존 역전 원칙도 전보다 조금 더 이해하게 된 것 같은데 그래도 아직 잘 모르는 것 같다. 타입스크립트로 구현해보는 연습을 해봐야겠다.
🧐 궁금한 내용이 있거나, 잘 이해되지 않는 내용
- 결합도를 최소로 줄이는 게 어떻게 추상화에 의존하는 방식이 되는 건지 이해가 안됐다.
📌 소감 3줄 요약
- 큰 함수를 작은 함수 여럿으로 쪼개라.
- 클래스는 확장에 개방적이고 수정에 폐쇄적이어야 한다.
- 클래스는 상세한 구현이 아니라 추상화에 의존해야 한다.
'클린코드' 카테고리의 다른 글
| [DAY 16] 클린 코드 TIL - 10장. 클래스 (0) | 2022.02.08 |
|---|---|
| [DAY 15] 클린 코드 TIL - 9장. 단위 테스트 (0) | 2022.02.07 |
| [DAY 14] 클린 코드 TIL - 9장. 단위 테스트 (4) | 2022.02.06 |
| [DAY 13] 클린 코드 TIL - 7장. 오류 처리 (0) | 2022.02.04 |
| [DAY 12] 클린 코드 TIL - 7장. 오류 처리 (0) | 2022.02.02 |