본문 바로가기
개발 외의 것들/책을읽읍시다.

[TIR]cleancode 10.클래스

by Joshua21 2022. 2. 10.

DAY 20~21일차

🔖 오늘 읽은 범위 : p.172~

 

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

  • 큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다. p.177
  • 대다수의 시스템은 지속적인 변경이 가해진다. 깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위험을 낮춘다. p.185
  • 시스템의 요소가 서로 잘 격리되어 있으면 각 요소를 이해하기도 더 쉬워진다. p.190

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

클래스 설명은 만일,그리고,-하며,하지만(if,and,or,but)을 사용하지 않고서 설명가능해야한다. 는 말이 직관적으로 와닿았다. 클래스는 하나의 책임만 가져야 한다는 이 챕터의 주제를 잘 표현해주는것 같다. 

 

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

  • 큰 함수 일부를 작은 함수 하나로 빼내고 싶은데, 빼내려는 코드가 큰 함수에 정의된 변수 넷을 사용한다. 만약 네 변수를 클래스 인스턴스 변수로 승격한다면 새 함수는 인수가 필요없다. 그만큼 함수를 쪼개기 쉬워진다. 불행히도 이렇게 하면 클래스가응집력을 잃는다. 몇몇  함수가 사용하는 변수를 독자적인 클래스로 분리하면 좋다. 이렇게 큰 함수와 클래스를 쪼개다 보면 프로그램에 점점더 체계가 잡히고 구조가 투명해진다.p.178~179 에 나오는 내용인데, 아직 큰함수를 다루어 본적이 없어서 이해가 어려웠다. 나중에 경험이 더쌓이고 다시 고민해봐야겠다.
  • SRP(single responsibility principle),DIP(dependency inversion principle)

소감 3줄 요약

  • 클래스나 모듈을 변경할 이유가 단하나여야 한다 클래스는 하나의 책임을가지는게 좋다.
  • 코드가 동작하게 하는 것과 코드를 깨끗하고 체계적으로 만드는 것은 별개의 문제지만 먼저 코드가 작동하게 만든 이후에는 추후 유지,보수,변경을 위해 cleancode repectoring의 과정이 꼭 필요한것 같다.
  • 대규모의 함수를 작성 또는 작게 쪼개어본 경험이 아직 부족하다. 현업에서 대규모 프로젝트를 만나 다양한 경험을 쌓고싶다.

'개발 외의 것들 > 책을읽읍시다.' 카테고리의 다른 글

[TIR]SQL첫걸음 5,6강  (0) 2022.02.12
[TIR]SQL 첫걸음 1~4강  (0) 2022.02.11
[TIR]cleancode 7,8,9 중간점검  (0) 2022.02.09
[TIR]cleancode 9. 단위 테스트  (0) 2022.02.06
[TIR]cleancode 4.5.6 중간점검  (0) 2022.02.03