almdev Разработка с ИИ

Как проверить код, который написал агент
Diff, обратные переходы и решение о принятии

Фильтр может выглядеть рабочим и терять задачи. Проверяем возврат данных, статусы, пустое состояние и управление клавиатурой.

Подкатегория: Проверить и продолжить

Чтение
3 мин
Технологии / версии
AI-разработка · JavaScript · Начало работы
Серия
Цикл «С чего начать» · часть 6 из 8
27 сен 2026 · 3 мин · 38 просмотров · С чего начать
Разработчица проверяет изменения в коде по списку сценариев.
Проверить и продолжить 09/2026

Агент сообщил, что фильтр готов. Страница открывается, выполненная задача скрывается. Это хороший момент начать проверку: внешне удачное действие ещё не показывает, сохранились ли данные и работает ли обратный переход.

Дальше проверяем именно вашу папку work. Готовая версия из архива полезна для сравнения поведения, но успешный запуск эталона ничего не доказывает о вашей реализации.

Начните со списка изменений

Откройте diff в редакторе. Если вы сделали исходный коммит и пока не добавляли новые изменения в индекс Git, используйте:

git status --short
git diff --stat
git diff -- index.html app.js styles.css

git diff без дополнительных режимов показывает изменения рабочей копии относительно индекса. Уже подготовленные к коммиту изменения смотрите через git diff --cached; новые неотслеживаемые файлы открывайте отдельно. Семантика описана в документации Git. Без Git сравните файлы work с нетронутыми файлами initial средствами редактора.

Сначала оцените объём. Добавление фильтра не объясняет появление конфигурации сервера, запросов к внешнему адресу или переписанного набора задач. Необъяснимые изменения требуют ответа до принятия, даже если тесты зелёные.

Затем проследите путь данных. Где хранится полный список? Какая коллекция участвует в отрисовке? Что меняется при отметке задачи? Достаточно понимать этот участок, а не пересказывать весь язык JavaScript. Если участок остаётся непонятным, попросите объяснение со ссылкой на него и сверяйте ответ с кодом.

Проверьте переходы, а не один экран

Перезагрузите страницу перед сценарием: должны быть три исходные задачи, выполнена только «Открыть проект». Затем пройдите последовательность без промежуточной перезагрузки.

  1. Включите фильтр. Видны «Составить план» и «Проверить результат».
  2. Выключите фильтр. Вернулись все три задачи, средняя по-прежнему выполнена.
  3. Снова включите фильтр и отметьте обе оставшиеся задачи. Список пуст, показано «Незавершённых задач нет».
  4. Выключите фильтр. Все три задачи вернулись выполненными.
  5. Снимите выполнение с «Составить план», затем включите фильтр. Видна только эта задача.
  6. Перезагрузите страницу. Фильтр выключен, исходные статусы восстановлены.

Не ограничивайтесь количеством строк. После выключения нужны те же задачи с теми же идентификаторами и текущими статусами. Реализация, которая заново создаёт три исходных объекта, тоже вернёт нужное количество, но потеряет сделанные пользователем отметки.

Отдельно пройдите клавиатурой

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

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

Такая проверка не равна полному аудиту доступности. Например, работа со скринридером требует собственного прохода. Не включайте её в список выполненного, если проверяли только Tab и видимую рамку.

Что дают автоматические проверки

В поставке этого учебного стенда готовая версия проверяется браузерными сценариями: переключение фильтра, сохранение идентичности задач, изменение статусов, пустой результат и сброс. Намеренно сломанная версия воспроизводит потерю данных. Эти проверки относятся к поставляемому примеру, не к коду, который сгенерировал ваш агент.

Если в вашем проекте уже есть тесты, используйте принятый способ запуска. Для маленькой локальной копии можно сначала пройти сценарии руками. Когда изменение повторяется или входит в рабочий продукт, автоматизируйте устойчивые условия: например, задача с id=2 должна вернуться после снятия фильтра. Проверка одного заголовка «Список задач» этот дефект не поймает.

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

Примите решение и запишите основание

Результат можно принять, когда diff объясним, условия задачи выполнены и существенных непроверенных участков не осталось. Если браузерный сценарий не проходили, запись должна говорить «не проверено», а не «должно работать».

Изменены: index.html и app.js.
Проверено мной: возврат трёх задач, статусы после фильтра,
пустой результат, сброс перезагрузкой, Tab и пробел.
Не проверено: работа со скринридером.
Решение: принять учебную задачу / вернуть на исправление с описанием дефекта.

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

Серия

Цикл «С чего начать»

#ai-development #javascript #beginner