•
레거시 코드를 다룰 때는 어떤 도구를 사용할까?
◦
IDE는 당연하고 테스트 프레임워크도 필요하다. 현재 사용중인 프로그래밍 언어 전용의 리팩토링 도구가 있다면 매우 유용할 것이다.
•
이번 장에서는 현재 사용 가능한 도구들을 열거하고, 각 도구가 레거시 코드 작업에서 어떤 역할을 할 수 있는지 설명한다.
리팩토링 자동화 도구
•
코드 변경이 리팩토링으로서 인정받기 위해선 기존 동작이 달라지지 않아야 한다.
•
따라서 리팩도링 도구는 코드 변경이 동작 변경으로 이어지지 않음을 증명해야 하며, 실제로 많은 도구들이 이러한 검증 작업을 수행한다.
모조 객체
•
레거시 코드를 다룰 때, 가장 큰 문제가 되는 것은 의존 관계다.
•
특정 코드를 독립적으로 수행하고 싶을 때, 대부분의 경우에는 의존 관계를 제거해야 한다.
•
이때 다른 코드를 실제로 만들어 사용하는 대신 모조 객체를 사용할 수 있다.
단위 테스트 하네스
•
xUnit 테스트 프레임워크는 작으면서도 강력한 기능을 뽐내며, 단위 테스트를 위한 프레임워크로 설계됐다. 주요 특징은 다음과 같다.
◦
프로그래머는 현재 사용 중인 개발 언어로 테스트 루틴을 작성할 수 있다.
◦
모든 테스트는 독립적으로 실행된다.
◦
테스트들은 그룹 단위로 묶어서 필요할 때마다 실행할 수 있다.