거대한 레거시 코드 클래스를 리팩토링하고 있습니다. 리팩토링 (나는 추정한다)은 이것을 옹호한다 :
- 레거시 클래스에 대한 테스트 작성
- 수업에서 도덕을 리팩터링하다
문제 : 클래스를 리팩터링하면 1 단계의 테스트를 변경해야합니다. 예를 들어, 레거시 메서드에 있던 것이 이제는 별도의 클래스가 될 수 있습니다. 한 가지 방법은 여러 가지 방법 일 수 있습니다. 레거시 클래스의 전체 환경은 새로운 것으로 사라질 수 있으므로 1 단계에서 작성한 테스트는 거의 무효가됩니다. 본질적으로 3 단계를 추가 할 것입니다. 테스트를 적절 하게 다시 작성하십시오.
리팩토링 전에 테스트를 작성하는 목적은 무엇입니까? 그것은 나 자신을 위해 더 많은 일을 만들어내는 학문적 운동처럼 들린다. 나는 지금 방법에 대한 테스트를 작성하고 있으며 물건을 테스트하는 방법과 레거시 방법이 작동하는 방법에 대해 더 많이 배우고 있습니다. 레거시 코드 자체를 읽음으로써 이것을 배울 수 있지만, 테스트를 작성하는 것은 코를 문지르는 것과 거의 동시에이 임시 지식을 별도의 테스트로 문서화하는 것과 같습니다. 따라서이 방법으로 코드의 기능을 배우는 것 외에는 선택의 여지가 거의 없습니다. 나는 코드에서 지옥을 리팩터링 할 것이고 여기에서 나의 지식이 유지되고 리팩토링에 대해 더 신선하게하는 것을 제외하고는 모든 문서와 테스트가 중요하지 않은 경우 무효가 될 것이기 때문에 나는 여기서 임시로 말했다.
리 팩터 전에 테스트를 작성해야하는 실제 이유가 있습니까? 코드를 더 잘 이해하는 데 도움이됩니까? 또 다른 이유가 있습니다!
설명 해주십시오!
노트 :
이 게시물이 있습니다 : 완전한 리팩토링 시간이 없을 때 레거시 코드에 대한 테스트를 작성하는 것이 합리적입니까? "리팩토링 전에 테스트 쓰기"라고 말하지만 "이유"또는 "쓰기 테스트"가 "곧 폐기 될 바쁜 작업"처럼 보일 경우 수행 할 조치는 말하지 않습니다.