로버트 마틴 썸네일형 리스트형 [클린 코드] 12장 창발성 창발성이란 하위계층(구성 요소)에는 없는 특성이나 행동이 상위계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상을 말한다. 영어로는 '불시에 솟아나는 특성'(emergent property) 또는 이머전스(emergence)라고 한다. 창발적 설계로 깔끔한 코드를 구현하자 켄트 벡은 다음 규칙을 따르면 설계가 단순하다고 말한다. 켄트 백이 제시한 이 단순한 설계 규칙 4가지가 소프트웨어 설계 품질을 크게 높여줄 수 있다. 모든 테스트를 실행한다. 중복을 없앤다. 프로그래머 의도를 표현한다. 클래스와 메서드 수를 최소로 줄인다. 단순한 설계규칙 1: 모든 테스트를 실행하라 테스트가 가능한 시스템을 만들려고 애쓰면, 설계 품질이 더불어 높아진다. 크기가 작고 목적 하나만 수행하는 클래스가 나온다. SRP를.. 더보기 이전 1 다음