소프트웨어의 외부 동작은 유지한 채 내부 구조를 개선하여 기술 부채를 해결하는 리팩토링의 기준과 기법을 분석했다.
코드는 작성되는 시간보다 읽히는 시간이 훨씬 길다는 점을 명심하고 가독성과 유지보수성을 높이기 위한 코드 개선 프로세스에 집중했다.
리팩토링이 필요한 시점을 알려주는 코드 구린내의 징후들을 정의하고 이를 감지하는 연습을 반복했다.
중복 로직의 산재, 하나의 함수가 너무 많은 책임을 지는 비대화, 그리고 모호한 명칭 등을 주요 개선 대상으로 설정했다.
복잡한 로직을 의미 있는 단위로 쪼개어 별도의 메서드로 분리하는 메서드 추출 기법을 통해 코드 자체가 문서 역할을 하도록 개선했다.
기능 유지를 즉시 검증하기 위해 사전에 테스트 코드를 확보하고 작은 개선을 반복하며 수시로 테스트를 수행하는 단계를 밟았다.
리팩토링은 나중에 하는 선택 사항이 아니라 매일의 개발 프로세스에 녹아있어야 하는 필수 활동임을 깨달았다.
클린 코드를 향한 끊임없는 노력이 소프트웨어의 생명력을 연장하고 팀 전체의 생산성을 높이는 핵심임을 확인했다.
동작하는 코드에 안주하지 않고 이해하기 쉬운 코드를 만들기 위해 리팩토링을 생활화했다.
정돈된 코드 베이스는 변화에 유연하게 대응할 수 있는 가장 강력한 무기임을 다시 한번 되새겼다.