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

  • 클래스는 작아야 한다!
    • 함수는 물리적인 행 수로 크기를 측정했다. 클래스는 다른 척도로 사용한다.
      클래스가 맡은 책임을 센다.
    • 클래스 이름은 해당 클래스 책임을 기술해야 한다.
      실제로 작명은 클래스 크기를 줄이는 첫 번째 관문이다.
    • 클래스 설명은 만일("if"), 그리고("and"), -(하)며("or"), 하지만("but")을 사용하지 않고서
      25 단어 내외로 가능해야 한다.
  • 단일 책임 원칙(Single Responsibility Principle, SRP)
    • 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다.
    • SRP는 '책임'이라는 개념을 정의하며 적절한 클래스 크기를 제시한다.
      => 클래스는 책임, 즉 변경할 이유가 하나여야 한다는 의미다.
    • 큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다.
  • 응집도(Cohesion)
    • 클래스는 인스턴스 변수 수가 작아야 한다.
    • 각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다.
    • 모든 인스턴스 변수를 메서드마다 사용하는 클래스는 응집도가 가장 높다.
    • 클래스가 응집력을 잃는다면 쪼개라!

 

 

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

  1. SRP에 대한 개념은 책으로 한번 봤었는데 이해가 전혀 안되었습니다.
    => 이번에 클린코드를 읽으면서 좀 더 명확하게 이해를 하게 되었습니다.
    => 예시가 너무 잘 나와있어서 이해에 큰 도움이 되었습니다.
    => 아직 제가 진행한 프로젝트가 규모가 너무 작아서 클래스가 복잡해지는 경우가 적은 것 같습니다.
    => 이론으로 공부 하는 것보다는 실질적으로 코드를 보고 타이핑 해보는게 도움이 될 것 같습니다.

 

 

 

🔎 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요. 

  • 응집도에 대한 부분이 전반적으로 이해가 되지 않았습니다.
    • 클래스는 적은 인스턴스 변수를 가져야 한다.
    • 응집도가 높다는 것은 클래스의 모든 메소드들에 대하여 인스턴스 변수를
      사용하는 비율이 높다는 것이다.
    • 응집도가 낮다는 것은 메소드와 변수의 논리적 연결이 약하므로 클래스를
      더욱 분리 할 수 있음을 암시한다.

 

 

 

👀 소감 3줄 요약

  • 클래스는 작아야 한다!
  • 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다
  • 클래스가 응집력을 잃는다면 쪼개라!

 

 

 

반응형

+ Recent posts