Apakah waktu yang dihabiskan untuk refactoring basis kode layak dalam jangka panjang, dalam hal produktivitas pengembang?
Tampaknya cukup jelas bagi saya bahwa memodifikasi sistem yang bersih dan dirancang dengan baik jauh lebih sederhana dan lebih cepat daripada bekerja pada yang dirancang dengan buruk, tetapi saya mencari beberapa bukti kuat. Apakah ada studi seputar topik ini?
productivity
complexity
Benny Hallett
sumber
sumber
Jawaban:
Secara empiris, perangkat lunak dengan metrik kompleksitas yang lebih tinggi, seperti kompleksitas siklomatik, lebih sulit dipertahankan. Ada penelitian yang mendukung hal ini sejak tahun 1970-an ("Kompleksitas Program dan Produktivitas Programmer", ET Chen) . Ada juga pekerjaan yang menunjukkan bahwa kepadatan kompleksitas, yang merupakan kompleksitas siklus atas ukuran sistem juga berhubungan dengan waktu pemeliharaan ("Kerapatan kompleksitas siklomatik dan produktivitas pemeliharaan perangkat lunak", GK Gill, CF Kemerer) , yang juga tersedia secara gratis di sini . Sayangnya, langganan IEEE diperlukan untuk makalah Chen, tetapi Anda dapat mencoba mencarinya di sumber lain jika Anda tertarik.
Dari perspektif kualitas, sering kali layak untuk meluangkan waktu refactoring, dengan asumsi Anda memiliki kerangka kerja pengujian untuk mencegah pengenalan cacat baru. Ini akan memungkinkan Anda untuk lebih mudah mengimplementasikan fitur-fitur baru ke sistem Anda, menambahkan tes tambahan, dan melatih pengembang baru untuk bekerja.
Namun, pada akhirnya, ada tekanan untuk memberikan fungsionalitas baru dan nilai tambah. Anda harus menyeimbangkan refactoring dengan penerapan fungsi baru dan perbaikan cacat.
sumber
Kemudian berhentilah membuang waktu Anda di sini.
Temukan beberapa kode yang mahal untuk dipelihara. Mudah. Lihatlah tiket masalah organisasi Anda.
Temukan beberapa kode yang murah untuk dipelihara. Temukan kode yang sering dijalankan, tetapi memiliki sedikit atau tidak ada tiket bermasalah.
Ukur kompleksitas dengan salah satu alat kompleksitas yang tersedia secara luas.
Berjemur di bukti.
Anda sekarang telah memberikan nomor untuk mengkonfirmasi yang sudah jelas.
sumber