현재 기술적으로 복잡한 제품이 거의없는 소규모 회사에서 일하고 있습니다. 나는 그들 중 하나의 유일한 개발자입니다. 약 1 년 전, 레거시 버전의 제품을 구입하여 "지원"하기 시작했습니다.
고객은 새로운 기능, 비즈니스 가치 및 기타 유형에 대해서만 이야기합니다. 문제는 코드가 C #이지만 코드가 매우 절차 적이라는 것입니다. 추상화는 없으며 클래스는 Visual Studio에서 필요한 경우에만 사용됩니다 (예 : 양식). 이 클래스의 구현은 정말 끔찍하며 코드를 유지하기가 정말 어렵습니다.
올해 내내 리팩토링에 시간을 보냅니다. 최신 버전에는 꽤 추상화가 있습니다. 여러 구성 요소를 처음부터 다시 구현해야했으며 이러한 구성 요소에 새로운 기능을 추가하거나 동작을 변경하는 것이 다른 구성 요소보다 훨씬 쉽다고 생각합니다.
문제는, 나는 내 자신의 시간을 보낸다는 것입니다. 나는 결과를 정말 좋아하지만 하루 12 시간 일하는 것을 좋아하지 않습니다. 비슷한 상황에 가본 적이 있습니까? 어떻게해야합니까? 이미 토론을 시도했지만 여전히 성공하지 못했습니다.
레거시 코드를 많이 변경해야하는 새로운 기능을 구현하기로 결정한 순간이 무섭습니다. 고객에게 충격을 줄 수 있습니다.이 아이콘을 변경하는 데 8 시간이 필요한 이유는 무엇입니까? 고객은 코드에 변경해야 할 500 자리가 있는지 신경 쓰지 않습니다. 그리고이 500 곳을 먼저 찾아야합니다.
어떤 아이디어?