Код-ревью (Code Review)
Проверка изменений в коде коллегами до того, как они попадут в основную версию: поиск ошибок, обмен знаниями и единый стиль.
Код-ревью (code review) — проверка изменений в коде другими разработчиками до того, как изменения попадут в основную версию программы. Автор предлагает изменения — в Git-платформах это запрос на слияние (merge request или pull request), — коллеги читают код, задают вопросы, предлагают улучшения, и только после одобрения изменения принимаются.
Зачем это нужно
- Поиск ошибок. Свежий взгляд замечает то, что автор пропустил: неучтенный случай, ошибку в условии, проблему с производительностью.
- Безопасность. Ревьюер проверяет типичные уязвимости — SQL-инъекции, XSS, утечку секретов, неправильную проверку прав.
- Обмен знаниями. Код видят несколько человек, и знание о каждой части системы не остается в одной голове.
- Единый стиль и архитектура. Решения в проекте остаются согласованными.
- Обучение. Младшие разработчики учатся на замечаниях, старшие — на свежих идеях.
Что проверяют
- Решает ли изменение задачу и не ломает ли существующее поведение.
- Понятен ли код: названия, структура, комментарии там, где логика неочевидна.
- Есть ли тесты на новое поведение и пограничные случаи.
- Как изменение поведет себя под нагрузкой и при ошибках: тайм-ауты, пустые значения, повторные запросы.
- Нет ли лишних зависимостей и не накапливается ли технический долг.
Как сделать ревью полезным
- Небольшие изменения. Изменение на 200–400 строк проверяют внимательно, а на три тысячи строк — пролистывают. Большие задачи делят на последовательные части.
- Автоматизировать рутину. Стиль, форматирование, простые ошибки и тесты проверяет конвейер CI/CD, чтобы люди тратили внимание на логику и архитектуру.
- Быстрый ответ. Запрос, который ждет ревью три дня, тормозит всю команду. Хорошее правило — первый ответ в течение рабочего дня.
- Описание изменения. Автор объясняет, что и зачем меняет и как проверить, — ревьюеру не нужно угадывать.
- Уважительный тон. Комментарии касаются кода, а не человека; вопросы вместо приказов: «Что будет, если список пустой?»
Ревью не только для кода
Тот же подход применяют к изменениям инфраструктуры (планы Terraform), схем баз данных, конфигураций и даже текстов промптов для языковых моделей. Везде, где ошибка дорого стоит, вторая пара глаз до применения изменений обходится дешевле разбора последствий.