약 2 년 전에 작성한 일부 소프트웨어가 있으며 추가 된 기능이 필요합니다. 나는 그것이 끔찍한 혼란에 빠졌다는 것을 깨달았고 나는 모든 것을 움직이고 정리하는 등의 충동을 가지고있다. 나는 Joel on Software 기사를 다시 시작하지 않는 것에 대해 읽었 으므로 가장 좋은 방법은 무엇입니까?
약 2 년 전에 작성한 일부 소프트웨어가 있으며 추가 된 기능이 필요합니다. 나는 그것이 끔찍한 혼란에 빠졌다는 것을 깨달았고 나는 모든 것을 움직이고 정리하는 등의 충동을 가지고있다. 나는 Joel on Software 기사를 다시 시작하지 않는 것에 대해 읽었 으므로 가장 좋은 방법은 무엇입니까?
답변:
세 가지 기본 옵션이 있습니다.
응용 프로그램 인 경우 매우 작은 하고 진짜 엉망 , 다시 시작하는 것은 실제로 사용 당신의 최선의 방법 일 수 있습니다.
리팩터링 .
엉망으로 살고 추가 기능을 해킹하십시오.
일반적으로 옵션 (2)가 가장 좋습니다.
실제로 얼마나 많은 리팩토링을 수행 하느냐는 투입 한 자원과 배출되는 가치에 따라 달라집니다. 물어볼 질문은 다음과 같습니다.
내 경험상 리팩토링 세션에서 적절한 머들에 들어가는 것은 매우 쉽습니다. 내가 배운 가장 중요한 교훈은 다음과 같습니다.
새로운 기능을 안전하게 추가 할 수 있도록 최소한 리팩터링해야합니다. 즉, 더 악화시키지 않습니다. 나머지는 동기 부여, 예산 및 시간 제약에 따라 달라 지지만 혼란을 완전히 정리하는 데는 원래의 것보다 시간이 오래 걸릴 수 있습니다.
그것은 엉망이기 때문에 유지 관리하는 데 더 많은 시간이 걸리거나 엉망이 아니므로 쉽게 유지 보수하는 데 달려 있습니다. 나는 개인적으로 이것을 지금 겪고 있습니다. 인트라넷 사이트를 ASP.Net MVC3으로 변환하고 있습니다. 오래된 코드는 처분 할 수 있어야 하기 때문에 쓰레기 더미 (필자가 쓴 것)이기 때문입니다 (예, 더 잘 알아야합니다) ). 오래된 쓰레기 더미는 여전히 여기 있으며 기능을 추가하고 버그를 수정하는 데 어려움이 있습니다. MVC는 아름답고 실제로 작업하는 것이 즐겁기 때문에 다시 작성하고 있습니다.