Tôi hiện đang làm việc cho một công ty nhỏ có ít sản phẩm phức tạp về mặt kỹ thuật. Tôi là nhà phát triển duy nhất và duy nhất cho một trong số họ. Khoảng một năm trước, tôi đã có phiên bản kế thừa của sản phẩm và bắt đầu "hỗ trợ" nó.
Khách hàng chỉ nói về tính năng mới, giá trị kinh doanh và những thứ khác. Vấn đề là, mặc dù mã nằm trong C #, nhưng nó khá thủ tục. Không có sự trừu tượng hóa, các lớp chỉ được sử dụng khi Visual Studio yêu cầu chúng - ví dụ: Biểu mẫu. Việc triển khai các lớp này thực sự khủng khiếp và mã thực sự khó duy trì.
Trong cả năm nay, tôi dành thời gian riêng cho việc tái cấu trúc. Trong phiên bản mới nhất, có khá trừu tượng và như vậy. Tôi đã phải thực hiện lại một số thành phần từ đầu và tôi thực sự cảm thấy rằng việc thêm tính năng mới hoặc thay đổi hành vi cho các thành phần này dễ dàng hơn nhiều so với các thành phần khác.
Vấn đề là, tôi dành thời gian của riêng mình. Tôi thực sự thích kết quả, nhưng tôi không thích làm việc 12 giờ mỗi ngày. Bạn đã bao giờ đến tình huống tương tự? Tôi nên thử cái gì? Tôi đã thử thảo luận về nó, nhưng vẫn không thành công.
Tôi chỉ sợ thời điểm chúng tôi quyết định triển khai tính năng mới đòi hỏi nhiều thay đổi đối với mã kế thừa. Điều đó chỉ có thể gây sốc cho khách hàng: tại sao bạn cần 8 giờ để thay đổi các biểu tượng này? Khách hàng không quan tâm rằng có 500 địa điểm trong mã mà tôi cần thay đổi. Và tôi cũng nên tìm tất cả 500 địa điểm này trước.
Có ý kiến gì không?