창발(創發)
: 하위 계층(구성 요소)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상
단순하지만 중요한 네 가지 규칙을 따라 설계를 하면, 창발성이 촉진되어 우수한 설계를 완성할 수 있게 된다.
TEMPLATE METHOD PATTERN
은 고차원 중복 제거를 위한 기법이다.1. 좋은 이름을 선택한다.
2. 함수와 클래스 크기를 가능한 줄인다.
3. 표준 명칭을 사용한다.
4. 단위 테스트 케이스를 꼼꼼히 작성한다.
가장 분량이 짧은 챕터였던 것 같다. 하지만 중요한 규칙 네 가지를 정리해주어서 다시 한 번 머리에 새기고 넘어갈 수 있는 계기가 되었다. 코드는 나 혼자 짜고 나만 보는 것이 아니라, 남이 봤을 때도 이해가 잘 되어야 하기 때문에 항상 가독성을 염두에 두고 깨끗한 코드를 짜야 한다.
개발자로써 취업할 회사를 살필 때는 개발 문화가 어떤지, 코드 리뷰 문화가 활성화되어 있는지 꼭 살펴 보라는 말을 들었었다. 개발 문화가 잘 잡혀 있고 코드 리뷰를 열심히 하는 회사일수록 업무 만족도가 높다는 것이 그 이유였다. 책을 읽기 전에는 코드 리뷰의 필요성이 크게 와닿지 않았다. 하지만 책을 읽으면서, 내가 짠 코드를 활발하게 공유하고, 다른 사람 코드도 살피면서 함께 발전시키는 방식은 코드의 가독성을 높일 것이고 시스템의 통합도도 향상시킬 것 같다는 생각이 들었다. 비록 검토하는 게 번거롭고 상당한 시간이 소요되는 작업이겠지만, 결과적으로는 회사 뿐만 아니라 개발자 자신의 능력 발전에도 큰 도움이 될 것 같다는 것이다.
아무튼, 작은 프로젝트를 진행할 때도 네 가지 중요한 원칙을 바탕으로 깨끗한 코드를 위해 노력하고, 혼자 발버둥칠 것이 아니라 팀원들과 같이 이해하고 발전시킬 수 있도록 노력해야겠다고 다짐했다.