Tôi đã làm việc trong một dự án phần mềm chủ yếu là solo trong hơn 5 năm. Đó là một mớ hỗn độn khi bắt đầu (tôi là nhà phát triển thứ ba hoặc thứ tư đang làm việc với nó), và mặc dù bây giờ nó đã bớt lộn xộn hơn nhưng nó vẫn vô tổ chức. Tốc độ tiến bộ trong việc kiểm soát nó là rất lớn và tôi bắt đầu cảm thấy tuyệt vọng về tình trạng của nó. Làm thế nào để tôi thực sự bắt đầu sửa chữa nó?
Chi tiết cụ thể của dự án: Đây là một chương trình bán hàng được viết gần như hoàn toàn bằng Visual Basic Classic (VB6) với phần cuối của MySQL và một công cụ báo cáo được viết bằng C #. Mô-đun báo cáo C # là một niềm vui để làm việc, nó chỉ được viết trong vài năm qua và trước đó tất cả các báo cáo đã được thực hiện trong Báo cáo Crystal 9 (vâng, chúng tôi vẫn có một số báo cáo dựa trên nó).
Tuy nhiên, chương trình thực tế là một thảm họa hoàn chỉnh. Không có tổng cộng 90 nghìn LỘC và khoảng 10 nghìn dòng bình luận (chủ yếu không phải là tài liệu, nhưng mã cũ đã được nhận xét). 158 tệp mẫu và 80 tệp mô-đun. Tôi không biết có bao nhiêu trong số đó thực sự được sử dụng, bởi vì một số tính năng của chương trình chỉ đơn giản là không dùng nữa và (uh, đôi khi) lưu ý như vậy mà không xóa mã liên quan khỏi chương trình. Tôi đoán rằng chỉ có 50% mã được sử dụng trong sản xuất thực tế.
Tôi sợ chạm vào nhiều mã chỉ vì tôi không chắc liệu tôi có phá vỡ thứ gì đó mà một khách hàng khó hiểu dựa vào hay không, nó đã xảy ra nhiều lần hơn tôi có thể đếm được. Nó giống như có những quả mìn rải khắp mã.
Không thực sự có bất kỳ cấu trúc nào cho dự án. Nó không phải là hướng đối tượng ngoại trừ ở một vài nơi tôi đã có kiên nhẫn để cải cách cho đến nay. Nếu bạn cần lấy dữ liệu trên một biểu mẫu, bạn khởi tạo một đối tượng cơ sở dữ liệu, khai báo truy vấn của bạn ngay trong hàm, thực hiện nó và làm những gì bạn muốn với tập dữ liệu.
Khi tôi bắt đầu làm việc với dự án, không có kiểm soát nguồn nào được sử dụng. Tôi đã cố gắng khuyến khích những người khác mà tôi đang làm việc để sử dụng nó, nhưng tôi là người mới và những nỗ lực của tôi để khiến mọi người sử dụng lật đổ tất cả nhưng không thành công. Nhà phát triển hàng đầu của công ty cuối cùng đã gặp phải một lỗi nghiêm trọng trong vài năm qua và anh ấy chắc chắn rằng tất cả các nhà phát triển đều sử dụng kiểm soát nguồn trên tất cả các dự án, vì vậy ít nhất đó là một số tiến bộ.
Tôi nghĩ rằng nếu tôi có thể làm việc để cải cách toàn bộ dự án, tôi sẽ có thể đạt được tiến bộ tốt và thậm chí có thể ước tính được tôi sẽ mất bao lâu để hoàn thành dự án, nhưng nó đang được sử dụng tích cực và tôi đang sử dụng liên tục được yêu cầu dập lửa, sửa lỗi, thêm tính năng, v.v.
Vì vậy, làm thế nào để tôi bắt đầu thực sự sửa chữa dự án này? Hãy thử công cụ VB6 với ngôn ngữ khác? Hãy thử và viết lại chương trình trong thời gian rảnh của tôi? Hay điều này là hoàn toàn vô vọng?
Cập nhật
Sau bài đăng này, tôi đã quay lại dự án với lòng nhiệt thành mới, nhưng lại rơi vào tình trạng vô vọng trong vòng vài tháng sau khi thấy tốc độ tiến triển chậm như vậy. Sau đó tôi đã lặp lại chu kỳ này 2 hoặc 3 lần nữa trong năm tới hoặc lâu hơn.
Tôi đã chuyển sang một công việc khác. Mặc dù sau rất nhiều năm vb6, và chỉ có kinh nghiệm ngoại vi với các công nghệ khác, việc tìm kiếm rất khó khăn và tôi đã phải đối mặt với nhiều sự từ chối trên đường đi (khoảng một chục cuộc phỏng vấn trong suốt một năm). Lời khuyên của tôi cho những người khác trong tình huống này là xem xét để lại cho yếu tố này một mình. Hãy xem xét thiệt hại bạn có thể gây ra cho sự nghiệp của mình bằng cách ở trong một vị trí cuối cùng như thế này.