Bayangkan skenario berikut:
Anda mendeteksi bahwa program Anda (atau orang lain) memiliki bug - suatu fungsi menghasilkan hasil yang salah ketika diberi input tertentu. Anda memeriksa kode dan tidak dapat menemukan sesuatu yang salah: itu hanya tampak seperti bog ketika diberi masukan ini.
Sekarang Anda dapat melakukan salah satu dari dua hal: Anda juga memeriksa kode lebih lanjut sampai Anda menemukan penyebab sebenarnya; atau Anda menampar perban dengan menambahkan if
pernyataan memeriksa apakah input adalah input khusus ini - jika ya, kembalikan nilai yang diharapkan.
Bagi saya, menerapkan perban akan benar-benar tidak dapat diterima. Jika kode berperilaku tidak terduga pada input ini, input apa lagi yang Anda lewatkan akan bereaksi aneh? Sepertinya tidak ada perbaikan sama sekali - Anda hanya menyekop masalah di bawah permadani.
Karena saya bahkan tidak akan mempertimbangkan untuk melakukan ini, saya terkejut melihat betapa sering profesor dan buku terus mengingatkan kita tentang bagaimana menerapkan perbaikan "perban" bukan ide yang baik. Jadi ini membuat saya bertanya-tanya: seberapa umumkah "perbaikan" semacam ini?