Anda memiliki tiga opsi dasar:
Jika aplikasi ini sangat kecil dan berantakan , mulai lagi mungkin actuall menjadi taruhan terbaik Anda.
Refactor .
Hidup dengan kekacauan dan retas dalam fitur tambahan.
Biasanya, opsi (2) adalah taruhan terbaik Anda.
Berapa banyak refactoring yang sebenarnya Anda lakukan tergantung pada sumber daya yang Anda masukkan vs nilai yang Anda dapatkan. Pertanyaan yang akan diajukan meliputi:
- Waktu / anggaran apa yang tersedia?
- Seberapa banyak modifikasi yang Anda antisipasi di masa depan?
- Siapa lagi yang akan melihat kode? (mis. apakah kode yang rusak akan merusak reputasi Anda?)
- Apakah ada orang lain yang diharapkan memelihara kode itu?
- Alat refactoring apa yang tersedia untuk membantu Anda?
- Apa pengalaman Anda tentang refactoring?
- Pengalaman apa yang akan Anda dapatkan dari refactoring?
- Apa jenis refactoring yang akan memberi Anda manfaat paling banyak?
- Tes otomatis apa yang sudah ada? Perlu ditulis?
- Berapa banyak pengujian manual yang akan dibutuhkan?
- Bagaimana perasaan Anda jika Anda meninggalkan kode apa adanya?
Dalam pengalaman saya, sangat mudah untuk masuk ke kekacauan yang tepat selama sesi refactoring. Pelajaran paling penting yang saya pelajari adalah:
- Lakukan satu per satu.
- Ambil langkah kecil.
- Manfaatkan kontrol sumber Anda dengan baik (sering masuk + sertakan komentar).
- Manfaatkan alat refactoring otomatis.
- Ketahui IDE.