Я б сказав, що важливо зрозуміти кожну деталь про те, чому виникають деякі помилки та чому певні зміни усунули ці помилки, а також серед розробників часто трапляється програма працювати, не знаючи детально про те, чому виправлення працювало!
Мистецтво змінювати речі, поки помилка не зникає, не розуміючи, що це спричинило або чому зміна виправила її, часто називають "програмуванням вуду", і це не комплімент. Дійсно, ви не можете бути впевнені, що ви справді виправили помилку, на відміну від часткового її виправлення для конкретного випадку, який ви розслідували, якщо ви не розумієте, що це спричинило.
У гіршому випадку ви взагалі нічого не зробили, крім переміщення помилки: я пам’ятаю, що з першого курсу обчислювальної техніки на університеті, коли багато студентів вперше вивчали C та покажчики, помилки вказівників часто перестали проявлятися, коли вони змінили речі випадковим чином, оскільки зміни переставлять структури даних в пам'яті достатньо, щоб змусити помилку вказівника над іншим бітом пам'яті. Очевидно , що не допомогло взагалі .
Але сказавши це, комерційні реалії програмування часто такі, що задоволення клієнта, що виправлена помилка, важливіше, ніж задоволення себе. Я б ніколи не рекомендував вам декларувати щось виправлене, якщо ви не мали уявлення про те, що це спричинило, але якщо ви бачите, що якийсь код був проблематичним, і ви переробили його, навіть якщо ви "не на 100% впевнені", як це спричинило конкретний помилка виявляється, іноді просто потрібно перейти до наступної помилки, перш ніж клієнт занадто голосно кричить про ваш повільний прогрес.