Imaginez le scénario suivant:
Vous avez détecté que votre programme (ou celui de quelqu'un d'autre) a un bogue - une fonction produit le mauvais résultat lorsqu'elle reçoit une entrée particulière. Vous examinez le code et vous ne trouvez rien de mal: il semble juste s'embourber quand on lui donne cette entrée.
Vous pouvez maintenant effectuer l'une des deux opérations suivantes: vous pouvez soit examiner le code plus en détail jusqu'à ce que vous ayez trouvé la cause réelle; ou vous frappez sur un bandage en ajoutant une if
instruction vérifiant si l'entrée est cette entrée particulière - si c'est le cas, retournez la valeur attendue.
Pour moi, appliquer le bandage serait totalement inacceptable. Si le code se comporte de manière inattendue sur cette entrée, à quelle autre entrée que vous avez manquée réagira-t-il étrangement? Cela ne semble pas du tout être une solution - vous ne faites que pelleter le problème sous le tapis.
Comme je n'envisagerais même pas de le faire, je suis surpris de la fréquence à laquelle les professeurs et les livres nous rappellent sans cesse que l'application de correctifs "bandage" n'est pas une bonne idée. Cela me fait donc me demander: à quel point ces types de «correctifs» sont-ils courants?