Clean Code 10장. 클래스

HYl·2022년 5월 10일
0

Clean Code

목록 보기
9/9

DAY 10

오늘 읽은 범위 : 10장, 클래스


책에서 기억하고 싶은 내용을 써보세요.

클래스는 작아야 한다!

클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다. 두 번째 규칙도 크기다. 더 작아야 한다.

단일 책임 원칙

큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다. 작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다.

변경으로부터의 격리

시스템의 결합도를 낮추면 유연성과 재사용성도 더욱 높아진다. 결합도가 낮다는 소리는 각 시스템 요소가 다른 요소로부터 그리고 변경으로부터 잘 격리되어 있다는 의미다. 시스템 요소가 서로 잘 격리되어 있으면 각 요소를 이해하기도 더 쉬워진다.

이렇게 결합도를 최소로 줄이면 자연스럽게 또 다른 클래스 설계 원칙인 DIP (Dependency Inversion Principle)를 따르는 클래스가 나온다. 본질적으로 DIP는 클래스가 상세한 구현이 아니라 추상화에 의존해야 한다는 원칙이다.


오늘 읽은 소감은?

깨끗한 클래스를 잘 다루기 위해서는 객체지향 프로그래밍을 기반으로 체계적으로 설계해야 하는 것 같다.
작성된 클래스가 어떤 인터페이스를 기반으로 설계할 것인지, private 인지 public 인지를 결정해야 한다.

공통적인 기능들을 한 곳에 모아놓는 것도 중요하지만 다중 책임을 지게 해서는 안되며, 클래스 간의 커플링이 되어지지 않도록 조심해야 한다.

이처럼 클래스를 프로그래밍 할 때는, 신중하고 또 신중하게 작성해야 한다. 필요한 기능들을 확장가능하고 재사용성 가능하게 개선하는 과정도 물론 중요하지만 한 가지 유의할 점은 오버엔지니어링을 해서는 안 된다. 타이트한 일정 내에 어떤 기능을 구현해야 하는데, 앞으로 발생하지도 않을 상황에 대비해서 확장성만 너무 고려할 필요는 없다. 중간점을 지키면서 개발하는 것이 개발자의 센스인 것 같다.

profile
꾸준히 새로운 것을 알아가는 것을 좋아합니다.

0개의 댓글