본문 바로가기

개발 관련/etc

[CleanCode] 10. 클래스

로버트 C. 마틴의 클린코드 10장을 읽고 정리한 내용이다.

 

클래스 체계

클래스를 정의하는 표준 자바 관례에 따르면, 가장 먼저 변수 목록이 나온다.

정적 공개(static public) 상수가 있다면 맨 처음, 그 다음으로 정적 비공걔(private) 변수, 이어서 ㅇ비공개 인스턴수 변수가 나온다.

공개 변수가 필요한 경우는 거의 없다. 

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


클래스는 작아야 한다

클래스를 설계할 때도, 함수와 마찬가지로, '작게' 가 기본 규칙이다.

함수는 물리적인 행 수로 크기를 측정하지만, 클래스는 다른 척도를 사용한다. 클래스가 맡은 책임을 센다.

 

* 단일 책임 원칙

클래스나 모듈을 변경할 이유가 하나, 단 하나 뿐이라는 원칙이다.

SRP는 '책임'이라는 개념을 정의하며 적절한 클래스 크기를 제시한다. 즉, 클래스는 책임, 변경할 이유가 하나여야 한다는 의미다.

 

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

 

 

'개발 관련 > etc' 카테고리의 다른 글

[AWS&Docker 다뤄보기] 1. AWS와 Docker  (0) 2020.01.24
[CLion] MinGW 한글 깨짐  (0) 2019.11.27
[CleanCode] 9. 단위 테스트  (0) 2019.11.23
프로그래밍할 때 생각할 것  (0) 2019.01.28
#{} 와 ${}  (0) 2018.11.27