KARIU의 IT 블로그

클린코드 - 10장 클래스 본문

책 리뷰/클린코드(노개북 2기)

클린코드 - 10장 클래스

카리우 2022. 3. 10. 00:22
반응형

클린코드 TIL(Today I Learned) - Day10 (2022.03.10)

오늘 읽은 범위

10장. 클래스

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

  • 캡슐화를 풀어주는 결정은 언제나 최후의 수단이다. (p.172)
  • 클래스를 만들 때 첫 번째 규칙은 크기다. 클래스는 작아야 한다. 두 번째 규칙도 크기다. 더 작아야 한다. (p.172)
  • 클래스 이름은 해당 클래스 책임을 기술해야 한다. 실제로 작명은 클래스 크기를 줄이는 첫 번째 관문이다. (p.175)
  • 클래스 설명을 만일("if"), 그리고("and"), -(하)며("or"), 하지만("but")을 사용하지 않고서 25단어 내외로 가능해야 한다. (p.175)
  • 소프트웨어를 돌아가게 만드는 활동과 소프트웨어를 깨끗하게 만드는 활동은 완전히 별개다. 우리들 대다수는 두뇌 용량에 한계가 있어 '깨끗하고 체계적인 소프트웨어'보다 '돌아가는 소프트웨어'에 초점을 맞춘다. (p.176)
  • 큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다. 작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유가 하나며, 다른 작은 클래스와 협력해 시스템에 필요한 동작을 수행한다. (p.177)
  • 일반적으로 이처럼 응집도가 가장 높은 클래스는 가능하지도 바람직하지도 않다. 그렇지만 우리는 응집도가 높은 클래스를 선호한다. (p.177)
  • 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직하다. 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다. (p.188)
  • 테스트가 가능할 정도로 시스템의 결합도를 낮추면 유연성과 재사용성도 더욱 높아진다. 결합도가 낮다는 소리는 각 시스템 요소가 다른 요소로부터 그리고 변경으로부터 잘 격리되어 있다는 의미다. (p.190)

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

  • 이번 장 역시 필자는 클래스 크기는 무조건 작아야한다고 서술하고 있다. 그 외에도 응집도가 높은 클래스는 바람직하지 않으며 결합도가 낮아야 된다고 서술하고 있다. 응집도와 결합도 얘기가 나오니 정보처리기사 시험 공부할 때가 떠올랐다. 결합도 유형, 응집도 유형을 외우면서 '이걸 왜 외워야 되지..?'라는 생각을 하면서 억지로 공부했었는데 클린 코드에서 결합도와 응집도 이야기가 나오니 내심 반가웠다. 그 당시에는 억지로 외웠으나 지금 다시 그 내용을 본다면 좀 더 의미 있지 않을까?

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

  • 없음
반응형
Comments