Уявіть такий сценарій:
Ви виявили, що у вашій (чи чужій) програмі є помилка - функція видає неправильний результат при даному конкретному введенні. Ви вивчаєте код і не можете знайти щось не так: він, здається, затуманився при даному введенні.
Тепер ви можете зробити одне з двох: ви або вивчите код далі, поки не знайдете фактичну причину; або ви ляпаєте по пов'язці, додаючи if
заяву, перевіряючи, чи є вхід саме цим входом - якщо він є, поверніть очікуване значення.
Для мене накладення пов’язки було б абсолютно неприйнятним. Якщо код поводиться на цьому вкладі несподівано, на який інший вхід, який ви пропустили, буде реагувати дивно? Це зовсім не здається виправленням - ви просто перекопуєте проблему під килим.
Оскільки я б навіть не думав це робити, я здивований тим, як часто професори та книги постійно нагадують нам про те, як застосовувати виправлення «пов’язки» - це не дуже гарна ідея. Тож це змушує мене замислитися: наскільки поширені такі види "виправлень"?