Immagina il seguente scenario:
Hai rilevato che il tuo programma (o quello di qualcun altro) presenta un bug: una funzione produce un risultato errato quando viene fornito un input particolare. Esamini il codice e non trovi nulla di sbagliato: sembra semplicemente impantanarsi quando viene dato questo input.
Ora puoi fare una delle due cose: o esaminare ulteriormente il codice fino a quando non si trova la causa effettiva; oppure schiaffi su una benda aggiungendo if
un'istruzione che verifica se l'input è questo input particolare - se lo è, restituisce il valore atteso.
Per me, applicare la benda sarebbe del tutto inaccettabile. Se il codice si sta comportando in modo inaspettato su questo input, a quale altro input che hai perso reagirà in modo strano? Semplicemente non sembra affatto una soluzione: stai solo spalando il problema sotto il tappeto.
Dato che non prenderei nemmeno in considerazione la possibilità di farlo, sono sorpreso di quanto spesso i professori e i libri continuino a ricordarci come applicare le correzioni alla "benda" non sia una buona idea. Quindi questo mi fa chiedere: quanto sono comuni questi tipi di "correzioni"?