Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 995 Bytes

README.md

File metadata and controls

31 lines (23 loc) · 995 Bytes

12장 창발성

창발성

단순한 결합이 복잡한 결과를 나타내는 것.

켄트 백의 규칙

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

모든 테스트를 실행하라

  • 테스트가 불가능한 시스템은 검증도 불가능하다.
  • 검증이 불가능한 시스템은 절대 출시하면 안 된다.
  • 테스트 케이스가 많을수록 개발자는 테스트가 쉽게 코드를 작성한다.
  • 결합도가 높으면 테스트 케이스를 작성하기 어렵다.

리팩터링

  • 테스트 케이스가 있기 떄문에 코드를 정리할 때 걱정이 없다.
  • 응집도를 높인다.
  • 결합도를 낮춘다.
  • 관심사를 분리한다.
  • 시스템 관심사를 모듈로 나눈다.
  • 함수와 클래스의 크기를 줄인다.
  • 클래스와 메서드 수를 줄인다.
  • 더 나은 이름은 선택한다.
  • 중복을 없앤다.