[Clean Code] 10장 클래스 본문

프로그래밍/클린코드

[Clean Code] 10장 클래스

디유비 2020. 6. 5. 20:39

- 클래스 체계

  : 변수 public static -> private static -> private  

  : 함수 public -> private

  : 캡슐화 - 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 좋다.

 

- 클래스는 작아야 한다.

  : 클래스 이름에 Processor, Manager, Super 등과 같이 모호한 단어가 있다면 클래스에 여러 책임을 떠맡겼다.

  : 단일 책임 원칙(Single Responsibility Principle) - 변경할 이유가 하나여야 한다.

 

- 응집도

  : 응집도가 높다는 것은 클래스에 속한 함수와 변수가 서로 의존하며 논리적인 단위로 묶인다는 의미이다.

  : 응집도를 유지하면 작은 클래스 여럿이 나온다 - 클래스가 응집력을 잃는다면 쪼개라.

 

- 변경하기 쉬운 클래스

  : 새 기능을 추가할 때 시스템을 확장할 뿐 기존 코드를 변경하지는 않는다.

  : OCP (Open-Closed Principle) - 확장에 개방적이고 수정에 폐쇄적이어야 한다.

 

- 변경으로부터 격리

  : 결합도를 낮춘다. - 각 시스템 요소가 다른 요소로부터 격리되어 있다. 변경으로부터 격리되어 있다. (의존도가 낮다)

  : DIP (Dependency Inversion Principle) - 상세한 구현이 아니라 추상화에 의존해야 한다.

'프로그래밍 > 클린코드' 카테고리의 다른 글

[Clean Code] 12장 창발성  (0) 2020.06.08
[Clean Code] 11장 시스템  (0) 2020.06.08
[Clean Code] 9장 유닛 테스트  (0) 2020.06.05
[Clean Code] 8장 경계  (0) 2020.06.04
[Clean Code] 7장 오류 처리  (0) 2020.06.04
Comments