Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
Clean Code Ch.10 클래스
#clean_code
2년 전
806

오늘 TIL 3줄 요약

  • 클래스는 작아야 한다!

  • 클래스가 응집력을 잃는다면 쪼개라!

  • OCP(확장에 개방적이고 수정에 폐쇄적이어야 한다)

TIL (Today I Learned) 날짜

2022-05-11

오늘 읽은 범위

10장. 클래스

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

  • 캡슐화 - 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다.

  • 클래스 이름은 해당 클래스 책임을 기술해야 한다. 클래스 이름이 모호하다면 필경 클래스 책임이 너무 많아서다.

  • 단일 책임 원칙(Single Responsibility Principle)은 클래스나 모듈을 변경할 이유가 하나, 단 하나뿐이어야 한다는 원칙이다.

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

  • 우리는 응집도가 높은 클래스를 선호한다. 응집도가 높다는 말은 클래스에 속한 메서드와 변수가 서로 의존하며 논리적인 단위로 묶인다는 의미기 때문이다.

  • 새 기능을 수정하거나 기존 기능을 변경할 때 건드릴 코드가 최소인 시스템 구조가 바람직 하다. 이상적인 시스템이라면 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.

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

  • 책에서 이야기하는 것 처럼 '깨끗하고 체계적인 소프트웨어' 보다는 프로그램이 잘 돌아가기만 하면 무심코 그냥 넘어 갔던 것 같다. SRP를 잘 지키면서 클래스를 설계하는 것이 사실상 제한된 시간내에 프로젝트를 빨리 빨리 진행시켜야 하는 입장에서는 쉽지 않은 과정이지만 앞으로는 좀 더 신경쓰도록 노력해봐야겠다. 이 책은 참 반성을 많이 하게 만드는 책이다!