- 프로그램이 새로운 기능을 추가하기에 편한 구조가 아니라면 먼저 기능을 추가하기 쉬운 형태로 리팩터링하고 나서 원하는 기능을 추가한다.
- 리팩터링 이전에 제대로 된 테스트부터 마련한다. 테스트는 반드시 자가진단하도록 만든다.
- 프로그램 수정은 최대한 작은 단계로 나눠 진행한다.
- 컴퓨터가 이애하는 코드는 바보도 작성할 수 있다. 하지만 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다.
5 좋은 코드를 가늠하는 확실한 방법은 얼마나 수정하기 쉬운가이다.
3 의법칙