Tôi phải mở rộng một mô-đun hiện có của một dự án. Tôi không thích cách nó đã được thực hiện (rất nhiều mô hình chống liên quan, như mã sao chép / dán). Tôi không muốn thực hiện một bộ tái cấu trúc hoàn chỉnh vì nhiều lý do.
Tôi có nên:
- tạo các phương thức mới bằng cách sử dụng quy ước hiện có, ngay cả khi tôi cảm thấy sai, để tránh nhầm lẫn cho người bảo trì tiếp theo và phù hợp với cơ sở mã?
hoặc là
- Hãy thử sử dụng những gì tôi cảm thấy tốt hơn ngay cả khi nó đang giới thiệu một mẫu khác trong mã?
Chỉnh sửa trước khi trả lời đầu tiên:
Mã hiện tại không phải là một mớ hỗn độn. Nó rất dễ dàng để làm theo và hiểu. NHƯNG nó đang giới thiệu rất nhiều mã soạn sẵn có thể tránh được với thiết kế tốt (kết quả là mã có thể trở nên khó theo dõi hơn). Trong trường hợp hiện tại của tôi, đó là một mô-đun DAO JDBC (mẫu lò xo) cũ, nhưng tôi đã gặp phải tình huống khó xử này và tôi đang tìm kiếm phản hồi khác.
Tôi không muốn tái cấu trúc vì tôi không có thời gian. Và thậm chí với thời gian, thật khó để biện minh rằng toàn bộ mô-đun hoạt động hoàn hảo cần tái cấu trúc. Chi phí tái cấu trúc sẽ nặng hơn lợi ích của nó. Hãy nhớ rằng: mã không lộn xộn hoặc quá phức tạp. Tôi không thể trích xuất một vài phương thức ở đó và giới thiệu một lớp trừu tượng ở đây. Đó là một lỗ hổng trong thiết kế (kết quả của sự cực kỳ 'Giữ cho nó ngu ngốc' tôi nghĩ)
Vì vậy, câu hỏi cũng có thể được hỏi như vậy:
Bạn, với tư cách là nhà phát triển, bạn có muốn duy trì mã nhàm chán ngu ngốc dễ dàng HOẶC để có một số người trợ giúp sẽ thực hiện mã nhàm chán ngu ngốc ở vị trí của bạn không?
Mặt trái của khả năng cuối cùng là bạn sẽ phải học một số thứ và có thể bạn sẽ phải duy trì mã nhàm chán ngu ngốc dễ dàng cho đến khi hoàn tất quá trình tái cấu trúc)