레거시 코드 길들이기: Michael Feathers의 "Working Effectively with Legacy Code" 요약
2025-09-09

이 글은 Michael Feathers의 고전적인 책 "Working Effectively with Legacy Code"의 핵심 아이디어를 요약합니다. 이 책은 레거시 코드의 핵심 문제는 테스트 부족이라고 주장합니다. 레거시 코드를 안전하게 수정하려면 먼저 테스트를 추가해야 합니다. 그러나 테스트를 추가하려면 코드를 수정해야 하므로 역설이 발생합니다. 이 책에서는 변경 지점(Seams) 식별, 종속성 해제, 테스트 작성 및 리팩토링 단계와 함께 증분 테스트 기법(Sprout 및 Wrap)과 코드를 빠르게 이해하는 기법(Scratch Refactoring)을 설명합니다. 저자는 단위 테스트의 중요성을 강조하고 기존 코드의 동작을 포착하기 위한 특성 테스트(Characterization Tests)를 소개합니다. 마지막으로, 유지보수 비용을 줄이기 위해 라이브러리 구현에 대한 직접적인 종속성을 피하도록 조언합니다.
더 보기
개발