За цим сценарієм розповсюджується загальна схема пошуку помилки:
- Дотримуйтесь дивнощів, наприклад, відсутність виводу або вивішування програми.
- Знайдіть відповідне повідомлення у журналі або програмі, наприклад, "Не вдалося знайти Foo". (Наступне є актуальним лише у тому випадку, якщо це шлях, який потрібно знайти, щоб знайти помилку. Якщо трак стека чи інша інформація про налагодження легко доступна, це вже інша історія.)
- Знайдіть код, де друкується повідомлення.
- Налагоджуйте код між першим місцем, коли Foo вводить (або повинен вводити) зображення та місцем друку повідомлення.
На цьому третьому кроці процес налагодження часто переривається, оскільки в коді є багато місць, де Could not find {name}
друкується "Не вдалося знайти Foo" (або шаблонна рядок ). Насправді, кілька разів орфографічна помилка допомогла мені знайти фактичне місце розташування набагато швидше, ніж я б інакше - це зробило повідомлення унікальним у всій системі та часто в усьому світі, в результаті чого відповідна пошукова система негайно потрапила.
Очевидним висновком з цього є те, що ми повинні використовувати в коді унікальні ідентифікатори повідомлення, жорстко кодуючи його як частину рядка повідомлення і, можливо, перевіряючи, що в базі коду є лише одне виникнення кожного ідентифікатора. Що стосується ремонтопридатності, що, на думку цієї громади, є найважливішими плюсами та мінусами цього підходу, і як би ви реалізували це чи іншим чином гарантували, що його реалізація ніколи не стане необхідною (якщо припустити, що у програмному забезпеченні завжди будуть помилки)?