Pertanyaan tentang nilai default secara umum - nilai fungsi pengembalian default, nilai parameter default, logika default untuk saat ada sesuatu yang hilang, logika default untuk menangani pengecualian, logika default untuk menangani kondisi tepi dll.
Untuk waktu yang lama saya menganggap nilai default sebagai hal "kejahatan murni", sesuatu yang "menyelubungi bencana" dan menghasilkan bug yang sangat sulit ditemukan. Tetapi baru-baru ini saya mulai berpikir tentang nilai-nilai default sebagai semacam hutang teknis ... yang bukan merupakan hal buruk langsung tetapi sesuatu yang dapat memberikan beberapa "pembiayaan jangka pendek" membuat kita bertahan dari proyek (berapa banyak dari kita mampu membayar untuk membeli rumah tanpa mengambil hipotek?).
Ketika saya mengatakan "jangka pendek" - maksud saya bukan - "lakukan sesuatu dengan cepat terlebih dahulu dan lakukan refactor sebelum nanti mengenai produksi". Tidak - Saya sedang berbicara tentang mengandalkan nilai-nilai standar yang di-hardcoded dalam perangkat lunak produksi. Memang - itu dapat menyebabkan beberapa masalah, tetapi bagaimana jika itu hanya akan menyebabkan satu masalah dalam satu tahun penuh.
Lagi - saya berbicara tentang perangkat lunak utama "rata-rata" di sini (bukan perangkat lunak untuk pembangkit tenaga nuklir) - situs web rata-rata atau aplikasi UI untuk perangkat lunak akuntansi, yang berarti bahwa nyawa orang tidak dipertaruhkan, atau jutaan dolar .
Sekali lagi, dari pengalaman saya, pengguna bisnis lebih suka hidup dengan perangkat lunak yang "berfungsi entah bagaimana", daripada menunggu yang sempurna. Dan penggunaan nilai default sangat membantu jika Anda mengembangkan perangkat lunak dengan gaya RAD. Tetapi sekali lagi - sesi debug terlama yang saya habiskan adalah karena bug yang diperkenalkan oleh nilai default yang baik berhenti menjadi "default" di sepanjang jalan atau karena subsistem kecil baru-baru ini ditingkatkan dan sebagai hasil dari upgrade ini itu tidak menangani default dengan benar (mis. daftar kosong vs nol, atau string nol vs string kosong).
Jadi pertanyaan saya adalah - apakah nilai default baik atau buruk. Dan jika itu adalah hutang teknis - bagaimana mengukur seberapa banyak Anda dapat meminjam sehingga Anda mampu membayar kembali?
Sangat menghargai masukan apa pun.
Bersulang.
EDIT:
Jika saya menggunakan nilai default sebagai cara untuk memotong sudut selama pengembangan - dan jika sudut memotong menghasilkan bug dan masalah - apa metodologi untuk pulih dari masalah ini?