Saya baru saja bergabung dengan tim pengembangan (relatif) kecil yang telah mengerjakan proyek selama beberapa bulan, jika tidak satu tahun. Seperti kebanyakan pengembang yang bergabung dengan suatu proyek, saya menghabiskan beberapa hari pertama saya meninjau basis kode proyek.
Proyek (jalur internal aplikasi bisnis ASP.NET WebForms berukuran sedang hingga besar), karena kurangnya istilah yang lebih deskriptif, merupakan bencana. Ada tiga masalah langsung dengan standar pengkodean:
- Standarnya sangat longgar. Ini menjelaskan lebih banyak tentang apa yang tidak boleh dilakukan (jangan menggunakan notasi Hongaria, dll.) Daripada apa yang harus dilakukan.
- Standar tidak selalu diikuti. Ada ketidakkonsistenan dengan pemformatan kode di mana-mana .
- Standar tidak mengikuti pedoman gaya Microsoft. Menurut pendapat saya, tidak ada nilai menyimpang dari pedoman yang ditetapkan oleh pengembang kerangka kerja dan kontributor terbesar untuk spesifikasi bahasa.
Adapun poin 3, mungkin itu lebih mengganggu saya karena saya telah mengambil waktu untuk mendapatkan MCPD saya dengan fokus pada aplikasi web (khususnya, ASP.NET). Saya juga satu-satunya Microsoft Certified Professional di tim. Karena apa yang saya pelajari di semua sekolah, belajar mandiri, dan belajar sambil bekerja (termasuk persiapan saya untuk ujian sertifikasi), saya juga melihat beberapa contoh dalam kode proyek di mana hal-hal tidak dilakukan di Cara terbaik.
Saya hanya berada di tim ini selama seminggu, tetapi saya melihat begitu banyak masalah dengan basis kode mereka sehingga saya bayangkan saya akan menghabiskan lebih banyak waktu berjuang dengan apa yang sudah ditulis untuk melakukan sesuatu dengan "cara mereka" daripada saya jika mengerjakan proyek yang, misalnya, mengikuti standar pengkodean yang lebih banyak diterima, pola arsitektur, dan praktik terbaik. Ini membawa saya ke pertanyaan saya:
Haruskah saya (dan jika demikian, bagaimana saya) mengusulkan kepada manajer proyek dan pimpinan tim saya bahwa proyek tersebut perlu direnovasi secara besar-besaran?
Saya tidak ingin masuk ke kantor mereka, melambaikan MCTS dan sertifikat MCPD saya sekitar, mengatakan bahwa basis kode proyek mereka adalah omong kosong. Tetapi saya juga tidak ingin harus tetap diam dan harus menulis kode kludgey di atas kode kludgey mereka , karena saya sebenarnya ingin menulis perangkat lunak yang berkualitas dan saya ingin produk akhir menjadi stabil dan mudah dirawat.