////
Search
Duplicate
🤣

Chapter 5. 도구

레거시 코드를 다룰 때는 어떤 도구를 사용할까?
IDE는 당연하고 테스트 프레임워크도 필요하다. 현재 사용중인 프로그래밍 언어 전용의 리팩토링 도구가 있다면 매우 유용할 것이다.
이번 장에서는 현재 사용 가능한 도구들을 열거하고, 각 도구가 레거시 코드 작업에서 어떤 역할을 할 수 있는지 설명한다.

리팩토링 자동화 도구

코드 변경이 리팩토링으로서 인정받기 위해선 기존 동작이 달라지지 않아야 한다.
따라서 리팩도링 도구는 코드 변경이 동작 변경으로 이어지지 않음을 증명해야 하며, 실제로 많은 도구들이 이러한 검증 작업을 수행한다.

모조 객체

레거시 코드를 다룰 때, 가장 큰 문제가 되는 것은 의존 관계다.
특정 코드를 독립적으로 수행하고 싶을 때, 대부분의 경우에는 의존 관계를 제거해야 한다.
이때 다른 코드를 실제로 만들어 사용하는 대신 모조 객체를 사용할 수 있다.

단위 테스트 하네스

xUnit 테스트 프레임워크는 작으면서도 강력한 기능을 뽐내며, 단위 테스트를 위한 프레임워크로 설계됐다. 주요 특징은 다음과 같다.
프로그래머는 현재 사용 중인 개발 언어로 테스트 루틴을 작성할 수 있다.
모든 테스트는 독립적으로 실행된다.
테스트들은 그룹 단위로 묶어서 필요할 때마다 실행할 수 있다.