Saya, saya sendiri, dan saya, telah menjadi produser dan pemelihara kode warisan. Jika alat Anda menghasilkan "ribuan pelanggaran" (atau bahkan ratusan dalam hal ini), lupakan alat itu, itu tidak dapat diterapkan pada situasi ...
Saya menganggap pengembang asli sudah lama hilang dan tidak tersedia untuk diskusi. Jadi tidak ada orang di sekitar yang mengerti mengapa dan karenanya dari gaya desain dan pengkodean. Memperbaiki ratusan atau ribuan pelanggaran tidak akan menjadi masalah menulis ulang beberapa baris kode di sana-sini. Sebaliknya, itu tidak diragukan lagi membutuhkan refactoring / re-fungsional-dekomposisi. Anda mencoba melakukan itu pada basis kode besar yang ada, tanpa memahami desainnya saat ini, dan Anda pasti akan memperkenalkan serangkaian bug / masalah / dll. Hanya satu kaleng cacing yang lebih buruk dari yang Anda miliki sekarang (atau lebih buruk dari alat Anda >> pikir << sekarang Anda miliki).
Satu-satunya pendekatan yang masuk akal untuk mengatasi "ribuan pelanggaran" adalah menulis ulang dari awal. Upaya yang panjang dan mahal, dan hampir mustahil untuk dijual kepada manajemen. Dan dalam hal ini mereka mungkin benar ...
Kode lama biasanya hanya membutuhkan tweak. Seperti untuk y2k, atau ketika saham beralih dari 256 ke desimal. Saya melakukan banyak kedua cr * p itu. Dan banyak hal serupa lainnya. Biasanya cukup "tepat" di mana Anda dapat "membaca" gaya kadang-kadang buruk, dekomposisi fungsional buruk, dll buruk, dan menemukan kumpulan tempat yang perlu dimodifikasi. Dan kemudian, apa yang terjadi "antara tempat-tempat itu", yaitu, apa yang lebih banyak aliran tingkat tinggi, dapat tetap menjadi misteri bagi Anda. Pastikan Anda memahami fungsi terlokalisasi yang Anda ubah, dan kemudian menguji, menguji, menguji segala efek samping, dll., Pengetahuan lokal Anda tidak akan dapat diantisipasi.
Jika Anda tidak dapat melihat jalan Anda melalui kode seperti itu, maka Anda mungkin bukan orang terbaik untuk mempertahankan kode lama. Beberapa orang dapat mulai dengan layar kosong dan menulis program yang indah, tetapi tidak dapat memulai dengan basis kode besar kode orang lain dan memeliharanya. Orang lain dapat mempertahankan kode, tetapi tidak dapat memulai dari awal. Beberapa dapat melakukan keduanya. Pastikan orang yang tepat mempertahankan kode lawas Anda.
Saat-saat sesekali Anda mungkin ingin mendesain ulang dan menulis ulang basis kode warisan Anda dari awal adalah ketika persyaratan bisnis (atau lainnya) berubah sedemikian rupa sehingga "tweaks" kursi-of-the-celana tidak bisa mengakomodasi persyaratan yang diubah lagi . Dan pada titik itu, Anda mungkin juga memulai dengan menulis dokumen persyaratan fungsional baru, memastikan semua pemangku kepentingan ada di dalamnya. Ini pada dasarnya adalah ballgame yang benar-benar baru.
Satu-satunya-satunya >> yang salah << yang harus dilakukan adalah mencoba memperlakukan pemeliharaan kode lama dengan cara yang sama seperti Anda melakukan pengembangan baru. Dan satu hal yang salah itu tampaknya adalah jalan yang ingin Anda lewati :) Terima kata-kata saya untuk itu, itu bukan yang ingin Anda lakukan.