Stay hungry, Stay foolish

[클린코드 #10] 클래스 본문

책 책 책 책을 읽읍시다!

[클린코드 #10] 클래스

Jake2 2022. 3. 9. 01:13

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

클래스는 작아야한다.

클래스 규칙은 크기, 작아야한다.

함수의 크기는 행수로 판단했지만, 클래스 크기는 맡은 책임의 갯수로 판단한다.

클래스 작명을 명확하게 하기 어렵다면 크기가 너무 커서 그렇다, 맡은 책임이 많은것이다.

 

여러일을 하는 만능 클래스를 단일 책임 클래스 여려개로 분리하는 일을 하지 않는 개발자가 많다.

그들은 단일 책임 클래스가 여러개면 이 클래스 저 클래스 넘나들며 이해하기 어려워진다고 걱정한다.

하지만 큰클래스 하나든 작은클래스 여러개든 익힐 내용은 그 양이 비슷하다.

 

결론은 큰 만능 클래스 하나 보다 단일 책임 클래스 여러개가 바람직하다

 

응집도

클래스는 인스턴스 변수 수가 작아야 한다. 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다.

메서드가 변수를 더 많이 사용할수록 메서드와 클래스의 응집도가 높다. 응집도가 높다는 말은 클래스에 속한 메서드와 변수가 서로 의존하며 논리적으로 묶여 있다는 말이다. 

결합도는 의존성을 말하고 응집도는 논리적 연관성을 말한다고 생각한다.

클래스는 결합도는 작게 응집도는 높게 구성해야한다.

 

 

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

사실 내가 일하는 곳의 제품은 너무 자잘하게 분리가 많이 되어 있다고 생각했는데... 

이게 클린코드 인건가 싶다.. 

Comments