Tidak ada jawaban tunggal, karena ini sepenuhnya tergantung pada proyek. Kita perlu memikirkan dua hal di sini. Apa target akhirnya? Bagaimana Anda bisa sampai di sana?
Hasil akhir
Apakah Anda menulis perangkat lunak pengontrol Mars Orbiter? Maka Anda lebih baik pastikan Anda menulis kode yang paling kuat mungkin, Anda sebaiknya memeriksa setiap pengecualian ditangani dalam hal yang waras.
Apakah Anda menulis program yang hanya akan Anda jalankan, dan Anda hanya akan berjalan secara manual sesekali? Maka jangan repot-repot dengan pengecualian. Jangan repot-repot dengan arsitektur yang berat. Dapatkan itu berfungsi sampai pada titik di mana ia bekerja untuk Anda.
Bagaimana Anda bisa sampai di sana?
Apakah Anda melakukan pengembangan air terjun yang berat, di mana Anda menghabiskan banyak waktu untuk mencari tahu apa yang dibutuhkan, dan kemudian Anda akan pergi berbulan-bulan, berkembang? Jika demikian, maka Anda ingin mencapai kualitas target yang disebutkan di atas cukup awal. Dapatkan semua kesalahan Anda memeriksa infrastruktur yang direncanakan di awal.
Apakah Anda melakukan pengembangan lincah yang berat, di mana Anda mengumpulkan sesuatu selama satu atau dua minggu, yang kemudian akan ditunjukkan kepada para pemangku kepentingan, yang mungkin meminta revisi radikal, dan di mana Anda berharap untuk dapat mengulangi lebih dari sprint 1-2 wee sampai Anda mencapai target? Maka Anda mungkin lebih baik membuat sesuatu bekerja, tetapi rapuh bersama dengan cepat, dan hanya menambahkan ikat pinggang dan ikat pinggang saat persyaratan produk menguat.
Jika Anda memegang kendali atas air terjun atau keputusan tangkas (yang sebenarnya merupakan rangkaian bukan pilihan biner) maka buat keputusan itu berdasarkan perubahan yang diharapkan. Jika Anda yakin tahu persis seperti apa hasil akhirnya, maka air terjun adalah pilihan terbaik Anda. Jika Anda hanya memiliki gagasan yang kabur tentang apa yang harus Anda selesaikan, gesit adalah pilihan terbaik Anda. (Agile lebih populer hari ini bukan karena secara inheren lebih baik tetapi karena situasi kedua jauh lebih umum.)
Sekarang temukan jawaban Anda sendiri
Bagi sebagian besar, jawabannya akan terletak di suatu tempat di tengah. Jawab kedua pertanyaan itu tentang proyek Anda, dan itu akan menuntun Anda ke arah dasar.
Saya bisa mengatakan itu untuk diri saya sendiri, jika saya sering menulis skrip satu kali yang dirancang dengan sangat buruk dan tidak ada kesalahan dalam memeriksa apa pun. Saya juga menangani kode produksi, di mana penanganan kesalahan dan arsitektur mendapat banyak perhatian. Itu semua tergantung pada apa yang Anda lakukan.
Satu peringatan terakhir: Jika Anda memutuskan untuk membuat skrip satu kali yang dapat dilakukan dengan cepat dan kotor, pastikan. Sayangnya, sering terjadi bahwa skrip cepat dan kotor yang melakukan sesuatu yang menarik dapat dimanfaatkan secara luas ketika orang lain memperhatikannya. Pastikan bahwa ketika ini terjadi, waktu diberikan untuk pengerasan.