클린 코드 10장 클래스

inhalin·2022년 3월 9일
0

노개북 클린 코드

목록 보기
10/12

노개북 2기 19~20일차

  • 10장 클래스(pp.172~191)

요약 및 느낀 점

클래스 정의 순서 - 표준 자바 컨벤션

정적 공개 상수 - 정적 비공개 변수 - 비공개 인스턴스 변수 - 공개 함수 - 비공개 함수(자신을 호출한 공개 함수 직후)

클래스 크기

  • 작게, 더 작게!
  • SRP 원칙 지키기
    • 작은거 여러개나 큰거 몇개나 돌아가는 부품수는 비슷함
    • 규모가 커지면 복잡해지고, 복잡해질수록 체계적인 정리 필요

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

응집도(cohesion) 높이기

  • 인스턴스 변수의 수는 작게
  • 각 클래스 메서드다 클래스 인스턴스 변수 하나 이상 사용하기
  • 몇몇 메서드만 사용하는 인스턴스 변수가 몇개 있다면 응집력 떨어지는데 이 때 클래스 쪼개기

p.179
큰 함수를 작은 함수 여럿으로 쪼개다 보면 종종 작은 클래스 여럿으로 쪼갤 기회가 생긴다. 그러면서 프로그램에 점점 더 체계가 잡히고 구조가 투명해진다.

변경하기 쉬운 클래스

p.185
깨끗한 시스템은 클래스를 체계적으로 정리해 변경에 수반하는 위험을 낮춘다.

  • 변경에서 격리하기 (어떻게?) -> 추상 클래스 사용
    • 결합도는 낮추고, 유연성, 재사용성은 높일 수 있음

더 공부할 내용

0개의 댓글