Saya telah melihat banyak posting tentang penulisan ulang aplikasi yang buruk, pengalaman orang-orang tentang hal itu di sini di Programmer, dan sebuah artikel yang saya siapkan oleh Joel Spolsky tentang masalah ini, tetapi tidak ada bukti keras atau studi kasus. Selain dua contoh yang diberikan Joel dan beberapa posting lainnya di sini, apa yang Anda lakukan dengan basis kode yang buruk dan bagaimana Anda memutuskan apa yang harus dilakukan dengan didasarkan pada studi nyata?
Untuk kasus yang dimaksud, ada dua klien yang saya tahu bahwa keduanya memiliki kode lama. Mereka terus berjalan pincang karena itu karena salah satu dari mereka tahu, menulis ulang adalah bencana, itu mahal dan tidak benar-benar bekerja untuk meningkatkan kode banyak. Pelanggan itu memiliki beberapa logika bisnis yang sangat rumit karena para penulis cepatnya tahu.
Dalam kedua kasus, ini adalah aplikasi misi kritis yang membawa banyak pendapatan bagi perusahaan. Salah satu yang mencoba menulis ulang merasa bahwa mereka akan menabrak dinding bata jika perangkat lunak warisan tidak ditingkatkan di beberapa titik di masa depan. Bagi saya, risiko semacam itu memerlukan penelitian dan analisis untuk memastikan jalan yang sukses.
Pernahkah ada studi kasus aktual yang telah menyelidiki ini? Saya tidak ingin mencoba menulis ulang utama tanpa mengetahui beberapa praktik terbaik, jebakan, dan keberhasilan berdasarkan studi yang sebenarnya.
Buntutnya: oke, setelah pencarian lebih lanjut, saya menemukan tiga artikel menarik tentang studi kasus:
- Menulis ulang atau Menggunakan Kembali . Mereka melakukan penelitian pada aplikasi Cobol yang dikonversi ke Jawa.
- Yang lainnya adalah tentang Penggunaan Kembali Perangkat Lunak: Pengalaman dan Persepsi Pengembang .
- Penggunaan Kembali atau Tulis Ulang Studi lain tentang biaya perawatan versus penulisan ulang.
Baru-baru ini saya menemukan artikel lain tentang masalah ini: The Great Rewrite . Di sana penulis tampaknya menemukan beberapa masalah utama. Bersamaan dengan ini adalah ide prototyping dengan menggunakan tumpukan teknologi baru yang diusulkan dan mengukur seberapa cepat devs mengambilnya. Ini semua sebagai awal penulisan ulang, yang saya pikir merupakan ide bagus!