Tôi mới gia nhập một nhóm phát triển nhỏ (tương đối) đang làm việc trong một dự án trong vài tháng, nếu không nói là một năm. Như với hầu hết các nhà phát triển tham gia một dự án, tôi đã dành vài ngày đầu tiên để xem xét cơ sở mã của dự án.
Dự án (một dòng ứng dụng nội bộ ASP.NET WebForms cỡ vừa đến lớn), vì thiếu một thuật ngữ mô tả nhiều hơn, là một thảm họa. Có ba vấn đề đáng chú ý ngay lập tức với các tiêu chuẩn mã hóa:
- Các tiêu chuẩn là rất lỏng lẻo. Nó mô tả nhiều hơn những việc không nên làm (không sử dụng ký hiệu Hungary, v.v.) hơn là những việc cần làm.
- Tiêu chuẩn không phải lúc nào cũng tuân theo. Có sự không nhất quán với định dạng mã ở khắp mọi nơi .
- Tiêu chuẩn không tuân theo hướng dẫn về phong cách của Microsoft. Theo tôi, không có giá trị nào trong việc đi lệch khỏi các hướng dẫn được đặt ra bởi nhà phát triển của khung và người đóng góp lớn nhất cho đặc tả ngôn ngữ.
Đối với điểm 3, có lẽ điều đó làm phiền tôi nhiều hơn vì tôi đã dành thời gian để lấy MCPD của mình với trọng tâm là các ứng dụng web (cụ thể là ASP.NET). Tôi cũng là Microsoft Certified Professional duy nhất trong nhóm. Vì những gì tôi học được trong tất cả các lần đi học, tự học và học tại chỗ (bao gồm cả việc chuẩn bị cho kỳ thi chứng chỉ), tôi cũng đã phát hiện ra một số trường hợp trong mã của dự án, nơi mọi thứ đơn giản không được thực hiện trong cách tốt nhất.
Tôi mới chỉ ở trong nhóm này được một tuần, nhưng tôi thấy rất nhiều vấn đề với cơ sở mã của họ mà tôi tưởng tượng rằng tôi sẽ dành nhiều thời gian hơn để chiến đấu với những gì đã được viết để làm mọi thứ theo cách của họ nếu tôi làm làm việc trên một dự án, ví dụ, tuân theo các tiêu chuẩn mã hóa, các mẫu kiến trúc và các thực tiễn tốt nhất được chấp nhận rộng rãi hơn. Điều này đưa tôi đến câu hỏi của tôi:
Tôi có nên (và nếu vậy, làm thế nào để tôi) đề xuất với người quản lý dự án và trưởng nhóm của mình rằng dự án cần phải được cải tạo lớn?
Tôi không muốn đi vào văn phòng của họ, vẫy các chứng chỉ MCTS và MCPD của tôi xung quanh, nói rằng cơ sở mã của dự án của họ là tào lao. Nhưng tôi cũng không muốn phải im lặng và phải viết mã bùn ở trên mã bùn của họ , vì tôi thực sự muốn viết phần mềm chất lượng và tôi muốn sản phẩm cuối ổn định và dễ bảo trì.