창발적 설계로 깔끔한 코드를 구현하자 몇가지 설계 규칙으로 우수한 설계를 이끌어내자 켄트 백이 제시한 단순한 설계 규칙 4가지를 소개하고있다. 1. 모든 테스트를 실행하라 다양한 테스트 코드를 작성하는 시스템을 만드려 애쓰면 설계 품질이 높아진다. 개발자는 테스트 코드를 많이 작성하고 쉽게 테스트를 진행하려하기에 SRP , DIP와 같은 원칙을 지키려 추상화, 인터페이스, 의존성 주입등의 기술을 사용해 결합도를 낮춘다. 이에따라 자연스럽게 테스트 코드를 많이 작성하려 노력할수록 프로덕션코드의 설계 품질또한 같이 높아진다. 2. 리팩토링 테스트 케이스를 작성후 안전하게 코드와 클래스를 정리할 수 있다. ( 테스트라는 안전망이 존재하기때문에 ) 리팩토링 단계에서는 응집도를 높이고, 결합도를 낮추고, 관심사를..