프로그램이 새로운 기능을 추가하기 편한 구조가 아니라면, 먼저 기능을 추가하기 쉬운 형태로 리팩터링 후 원하는 기능을 추가하자.
리팩터링 전 제대로 된 테스트부터 마련한다. 테스트는 반드시 자가진단하도록 만든다.
리팩터링은 프로그램 수정을 작은 단계로 나눠 진행한다. 중간에 실수하더라도 버그를 쉽게 찾을 수 있다.