Все статьи
Как искать ошибку, когда «ничего не работает»
7 октября 2026 г.99 просмотровРазработка

Как искать ошибку, когда «ничего не работает»

Пошаговый способ найти причину сбоя: воспроизвести, сузить область поиска, проверить гипотезу и закрепить исправление.

Отладка

Знакомая ситуация: вчера всё работало, сегодня кнопка ничего не делает, а в коде уже десятки файлов. Желание сразу переписать подозрительный компонент понятно, но обычно это лишь добавляет новых неизвестных. Отладка начинается с точного описания того, что произошло.

Запишите наблюдаемый результат

Вместо «форма сломалась» сформулируйте: «после нажатия “Сохранить” появляется загрузка, затем форма очищается, но новая запись в списке не появляется». Укажите страницу, входные данные и шаги. Повторите сценарий дважды. Если ошибка проявляется не всегда, отметьте, что меняется: браузер, учётная запись, размер данных или скорость сети.

Найдите границу, где данные становятся неверными

Пройдите цепочку по одному звену: клик → обработчик → запрос → ответ сервера → обновление состояния → отображение. На каждом шаге задавайте один вопрос: «данные здесь уже неправильные или ещё правильные?» Для веб-приложения полезны консоль и вкладка Network. Ошибка 400 говорит о неверном запросе, 500 — о сбое на сервере, успешный ответ при пустом экране направляет внимание к интерфейсу.

Не добавляйте десятки сообщений в лог сразу. Одно сообщение перед подозрительным шагом и одно после него часто дают больше ясности. Проверяйте не только значение, но и тип: строка "0" и число 0 ведут себя по-разному.

Меняйте по одной вещи

Сформулируйте гипотезу: «список не обновляется, потому что после успешного ответа остаётся старое состояние». Сделайте минимальное изменение, повторите те же шаги и сравните результат. Если одновременно заменить запрос, компонент и схему базы, вы не узнаете, что именно помогло.

Когда ошибка появилась недавно, просмотрите последние изменения. Иногда причина — переименованное поле, новый обязательный параметр или условие, которое перестало выполняться. Сравнение старой и новой версии файла быстрее чтения всего проекта.

Проверьте соседние сценарии

Исправленная кнопка ещё не означает исправленную функцию. Проверьте пустое значение, повторное нажатие, обновление страницы и ошибку сети. Если сбой можно воспроизвести автоматически, добавьте короткий тест на его причину. Так эта же ошибка не вернётся незаметно.

Хорошая запись об исправлении состоит из трёх строк: как воспроизвести проблему, почему она возникала и что изменилось. Через месяц эта запись сэкономит время вам или коллеге. Навык отладки — не умение угадывать причину с первого взгляда, а умение последовательно исключать неверные объяснения.