리팩터링을 언제 하느냐가 아니라 어떻게 안전하게 하느냐를 다룹니다. 리팩터링의 정의에서 출발해 특성화 테스트로 안전망을 만들고, 손댈 수 없는 코드에 접합부를 내고, 병렬 변경으로 인터페이스를 바꾸고, 큰 변경을 되돌릴 수 있는 조각으로 자르는 절차를 순서대로 정리합니다. 자동 리팩터링과 코드모드의 검증 방법, 그리고 멈출 때를 정하는 기준까지 포함합니다.
기술 부채를 설득하기 전 단계, 즉 어디에 있는지 찾아내고 숫자를 붙이는 방법을 다룹니다. Fowler의 사분면으로 은유의 원래 뜻을 정리하고, 부채가 아닌 것을 걸러 내고, 변경 빈도와 복잡도로 핫스팟을 찾고, DORA 지표로 이자를 관측하고, 부채 목록과 상환 계획을 유지하는 절차, 그리고 갚지 않기로 결정하는 방법까지 정리합니다.