클린코드 12장

jiwon·2022년 4월 10일
0

클린코드

목록 보기
12/17
post-thumbnail
post-custom-banner

12장 창발성

창발(創發)또는 떠오름 현상은 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다.(위키백과)

창발적 설계로 깔끔한 코드를 구현하자

켄트 벡이 제시한 단순한 설계 규칙 4가지

  • 모든 테스트를 실행한다.
  • 중복을 없앤다.
  • 프로그래머 의도를 표현한다.
  • 클래스와 메서드 수를 최소로 줄인다.

단순한 설계 규칙 1: 모든 테스트를 실행하라

'테스트 케이스를 만들고 계속 돌려라'라는 규칙을 따르면 시스템은 낮은 결합도와 높은 응집력이라는, 객체 지향 방법론이 지향하는 목표를 저절로 달성할 수 있다!

단순한 설계 규칙 2~4: 리팩터링

코드 몇 줄을 추가할 때마다 잠시 멈추고 설계를 깔끔하게 조감한다. 테케가 있으므로 코드를 정리하면서 시스템이 깨질까 걱정할 필요가 없다. 리팩터링 단계에서는 소프트웨어 설계 품질을 높이는 기법이라면 무엇이든 적용해도 괜찮다.

중복을 없애라

공통적인 코드를 새 메서드로 뽑아서 중복을 없애자.

표현하라

유지보수를 위해, 코드는 개발자의 의도를 분명히 표현해야 한다.

  • 좋은 이름 선택하기
  • 함수와 클래스 크기 가능한 줄이기
  • 표준 명칭 사용하기
  • 단위 테스트 케이스 꼼꼼히 작성하기

위 4가지 규칙을 지켜서 표현하도록 노력하자.

클래스와 메서드 수를 최소로 줄여라

클래스와 메서드 크기를 줄이자고 조그만 클래스와 메서드를 수없이 만드는 사례도 있다. 하지만 목표는 함수와 클래스 크기를 작게 유지하면서 동시에 시스템 크기도 작게 유지하는 데 있다. 중복을 제거하는 작업이 더 중요하긴 하지만, 지나치게 과해지지 않도록 조심하자.

profile
개발 공부합니다. 파이팅!
post-custom-banner

0개의 댓글