~/VibeHandbook
PDF бесплатно

Глава 12 · 10

Повторение и практика

Ключевые выводы

  • Баг — это разрыв между тем, что вы ожидали, и тем, что произошло: дайте AI обе стороны плюс точные шаги воспроизведения, а не просто «оно сломано».
  • Вставляйте ошибку дословно и верх стек-трейса; первая строка, указывающая на ваш файл, почти всегда и есть точка старта.
  • Подтверждайте, прежде чем менять: добавьте помеченную строку лога, чтобы проверить гипотезу, и применяйте двоичный поиск (в коде или истории коммитов), чтобы на каждом шаге вдвое сужать пространство поиска.
  • Исправляйте первопричину, а не симптом — охранная проверка или try/catch, которые лишь останавливают сбой, обычно только маскируют настоящую проблему.
  • Когда AI ходит кругами, сбросьте контекст к тому, что вы знаете наверняка, попросите его объяснить, а не исправлять, и добавляйте улики вместо догадок.

Попробуйте сами

В следующий раз, когда что-то сломается, напишите отчёт о баге до того, как просить исправление. В свежем чате дайте AI три вещи: шаги воспроизведения, что вы ожидали и что произошло на самом деле — с ошибкой, скопированной дословно, и верхними кадрами стек-трейса. Затем, вместо «исправь это», попросите гипотезу и дешёвый способ её подтвердить (обычно строку лога). Запустите эту проверку, вставьте вывод обратно и только тогда позвольте AI предложить исправление. Заметьте, насколько прямее путь, чем у «оно не работает, помоги».

У меня есть баг. Прежде чем предлагать исправление, дай мне гипотезу и дешёвый
способ её подтвердить (например, строку лога) — пока не редактируй код.

Шаги воспроизведения: [что ты сделал]
Ожидалось: [что должно было произойти]
На деле: [что произошло]

Полная ошибка и стек вызовов:
[вставь дословно]

Релевантный код:
[вставь функцию, которая упала, плюс всё, что она вызывает]

Что могло это вызвать и что мне залогировать, чтобы подтвердить это, прежде чем что-либо менять?

Хотите офлайн-версию?

Скачайте всю книгу в PDF или EPUB — бесплатно.