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

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

⇒ 테스트 케이스를 작성하면 설계 품질이 높아진다.

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

테스트 케이스 작성 완료 시 → 점진적으로 코드, 클래스 정리(코드 리펙터링)

중복을 없애라

중복은 추가 작업, 추가 위혐, 불필요한 복잡도를 의미