ЯдроКодаподготовка к экзаменам
Учебная платформа

Загружаем материалы

Подготавливаем материалы и навигацию по разделу.

Ревью кода с Codex: как находить реальные дефекты

Автор: · Обновлено

Codex может провести отдельное review незакоммиченных изменений, коммита или diff относительно базовой ветки. Цель ревью — найти ошибки, которые автор захочет исправить:…

Codex может провести отдельное review незакоммиченных изменений, коммита или diff относительно базовой ветки. Цель ревью — найти ошибки, которые автор захочет исправить: нарушение поведения, потерю данных, уязвимость, гонку или отсутствующую проверку. Пересказ diff не является finding.

Сначала зафиксируйте scope

Укажите точный набор изменений:

Команда /review в поддерживаемых поверхностях предлагает готовые области и запускает dedicated reviewer без изменения working tree. При этом review pane показывает состояние Git, включая пользовательские правки, а не только строки, созданные Codex.

Формат полезного замечания

Каждый finding должен содержать:

  1. серьёзность;
  2. файл и минимальный диапазон;
  3. сценарий, при котором возникает проблема;
  4. наблюдаемое последствие;
  5. почему существующая защита не срабатывает;
  6. направление исправления без ненужного переписывания.

Пример:

HIGH — profile.service.ts, обновление email.
Два параллельных запроса проходят проверку уникальности до записи.
Один из них завершится ошибкой базы и превратится в 500 вместо ожидаемого 409.
Обработайте duplicate-key на границе записи и добавьте конкурентный
integration test; предварительную проверку можно оставить для UX.

Комментарий воспроизводим и не утверждает, что «код выглядит подозрительно».

Проверяйте изменение в контексте

Diff показывает новую строку, но ошибка часто зависит от вызывающего кода, схемы или старых данных. Reviewer должен прочитать непосредственно поддерживающий контекст, не превращая review конкретной ветки в аудит всего репозитория.

Особенно важны:

Разделяйте review и исправление

Первый проход полезно выполнять read-only: так findings не смешиваются с собственной реализацией reviewer. После того как владелец принимает замечание, Codex может исправить его в обычных sandbox/approval границах.

Цикл:

  1. получить findings;
  2. проверить сценарий и серьёзность;
  3. выбрать замечания для исправления;
  4. внести минимальный patch;
  5. добавить регрессионный тест;
  6. повторно проверить изменённый diff.

Не нужно автоматически «исправлять» вкусовые замечания, если они не нарушают соглашения проекта.

Review checklist по риску

Для backend:

Для frontend:

Checklist направляет внимание, но finding появляется только при доказуемом сценарии.

Практика: два прохода

Проведите review одного diff дважды:

  1. correctness — логика, данные, конкуренция и тесты;
  2. security — ввод, auth, secrets, filesystem и network.

Для каждого замечания потребуйте сценарий отказа. Затем удалите пересказы, общие пожелания и пункты без связи с изменённым кодом. Оставшиеся findings отсортируйте по ущербу.

Что важно запомнить

Частые вопросы

Может ли /review изменить мои файлы?

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

Нужно ли исправлять все замечания Codex?

Нет. Проверяйте доказательство, область и приоритет. Ложноположительное замечание следует отклонить с причиной; полезное — превратить в тест и минимальное исправление.

Почему reviewer должен видеть базовую ветку?

Без правильного merge base он может анализировать чужие или уже существующие изменения, пропустить удалённый контекст и неверно определить регрессию текущей работы.

Источники