창발적 설계로 깔끔한 코드를 구현하자 켄트 벡이 제시한 네 가지 단순한 설계 규칙 모든 테스트를 실행한다. 중복을 없앤다. 프로그래머 의도를 표현한다. 클래스와 메서드 수를 최소로 줄인다. 켄트 벡이 제시한 규칙을 따르면 설계는 단순하다. 코드 구조와 설계를 파악하기 쉬워지고 단일 책임 원칙(SRP), 의존 관계 역전 원칙(DIP)과 같은 원칙을 적용하기 쉬워진다. 위 네 가지 규칙이 우수한 설계의 창발성을 촉진한다. 단순한 설계 규칙 1: 모든 테스트를 실행하라 문서로는 시스템을 완벽하게 설계했지만, 시스템이 의도한 대로 돌아가는지 검증할 방법이 없다면, 문서 작성을 위해 투자한 노력에 대한 가치는 인정받기 힘들다. 테스트를 철저하게 거쳐 모든 테스트 케이스를 항상 통과하는 시스템은 ‘테스트가 가능한 ..