깨끗한 코드를 작성하기 위한 열두번째 기록 창발적 하위계층(구성 요소)에는 없는 특성이나 행동이 상위계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상을 창발성 [동아사이언스 기사 참조] 창발적 설계로 깔끔한 코드를 구현하자 1) 우수한 설계, 2) 쉬운 코드 구조와 설계 파악, 3) 쉬운 SRP, DIP 적용, 4) 우수한 설계의 창발성 촉진을 위해 4가지 규칙만 따르면 된다고 말합니다. 아래에서 4가지 규칙을 중요도 순으로 소개해드리겠습니다. 모든 테스트를 실행합니다. 중복을 없앱니다. 프로그래머 의도를 표현합니다. 클래스와 메서드 수를 최소로 줄입니다. 모든 테스트를 실행합니다. 검증을 위해서는 모든 테스트를 통과해야 합니다. 그렇기 때문에 테스트가 가능한 시스템을 만드는 것은 중요합니다. 검증이..