본문 바로가기
CleanCode

Clean Code 짜기11

by 김대근'IT공부 2019. 11. 8.

클래스 체계

- 정적(static) , 공개(public) , 상수가 맨 처음에 나오며

  다음으로 정적 비공개(private) 변수가 나온다.

  이어서 비공개 인스턴스 변수가 나온다.

 

  변수 목록 다음에는 공개 함수가 나온다.

  비공개 함수는 자신을 호출하는 공개 함수 직후에 넣는다.

  => 추상화 단계는 순차적으로 내려간다.

 

 

클래스 만들기 규칙

- 클래스의 크기는 작아야 한다.

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

  큰 클래스 몇 개가 아니라 작은 클래스 여럿으로 이뤄진 시스템이 더 바람직하다.

  작은 클래스는 각자 맡은 책임이 하나며, 변경할 이유도 하나며, 다른 작은 클래스와 협력해

  시스템에 필요한 동작을 수행한다.

 

- 인스턴스 변수 수가 작아야 한다.

  각 클래스 메서드는 클래스 인스턴스 변수를 하나 이상 사용해야 한다.

  일반적으로 메서드가 변수를 더 많이 사용 할수록 메서드와 클래스는 응집도가 더 높다.

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

 

 

시스템의 결합도를 낮추면 유연성과 재사용성도 높아진다.

결합도가 낮다는 소리는 각 시스템 요소가 다른 요소로부터 그리고 변경으로부터 잘 격리되어 있다는 의미다.

시스템 요소가 서로 잘 격리되어 있으면 각 요소를 이해하기도 더 쉬워진다.

 

결합도를 최소로 줄이면 자연스럽게 또 다른 클래스 설계 원칙인

DIP(Dependency Inversion Principle)를 따르는 클래스가 나온다.

본질적으로 DIP는 클래스가 상세한 구현이 아니라 추상화에 의존해야 한다는 원칙이다.

 

 

참고한 책

Clean Code(클린 코드)

반응형

'CleanCode' 카테고리의 다른 글

Clean Code 짜기12  (0) 2019.11.12
Clean Code 짜기10  (0) 2019.11.04
Clean Code 짜기9  (0) 2019.10.31
Clean Code 짜기8  (0) 2019.10.30
Clean Code 짜기7  (0) 2019.10.25