리팩토링 도구의 발전
리팩토링과 관련해 지난 십년 사이에 일어난 가장 큰 변화는 자동 리팩토링을 지원하는 도구가 등장한 것이다.
예를 들어 인텔리제이 IDEA, 이클립스에서 메서드 이름을 바꾸는 작업을 메뉴에서 클릭하는 것만으로 처리할 수 있다. 실제 리팩토링은 나 대신 개발 도구가 처리해주며, 따로 테스트할 필요가 없을 정도로 안정적이다.
리팩토링 자동을 지원하는 도구
Smalltalk Refactoring Browser (리팩토링을 자동으로 지원하는 첫 번째 도구)
- John Brandt와 Don Roberts가 개발
- 2000년대 초 Java 커뮤니티에서 빠르게 확산
IntelliJ IDEA와 Eclipse
- JetBrains의 IntelliJ IDEA에서 자동화된 리팩토링 기능 도입
- IBM의 Visual Age for Java에서 리팩토링 도구 추가, 이후 Eclipse에 기능 재구현
C# 리팩토링 도구
- 처음에는 JetBrains의 Resharper(Visual Studio용 플러그인)로 제공
- Visual Studio 팀은 자체 리팩토링 기능 추가
이제는 대부분의 편집기와 도구에서 리팩토링 기능을 지원하지만, 그 기능의 세부 사항은 도구와 언어에 따라 차이가 있다. 이 변화를 분석하는 것은 여기서 다루지 않겠지만, 몇 가지 기본 원칙에 대해 설명할 필요가 있다.
리팩토링을 자동화하는 몇 가지 기본 원칙