Как провести code review? Что проверяете в первую очередь?
Подробный ответ
Цель code review
Code review — не поиск мелких стилистических ошибок и не оценка автора. Его цель — убедиться, что изменение решает задачу, не ломает систему, безопасно поддерживается и понятно другим разработчикам.
Что проверять сначала
Понятна ли задача и соответствует ли ей изменение.
Корректна ли бизнес-логика, обработаны ли основные и граничные случаи.
Нет ли риска потери данных, нарушения безопасности или breaking change API.
Есть ли подходящие тесты и проходят ли обязательные CI checks.
Не создаёт ли изменение N+1, утечки ресурсов, лишние запросы или проблемы масштабирования.
Чек-лист review
корректность алгоритма и обработка ошибок;
валидация входных данных и права доступа;
отсутствие секретов, SQL injection, XSS и небезопасных логов;
тесты на основной сценарий, ошибки и edge cases;
миграции БД, обратная совместимость и план rollback;
производительность, кэширование, сетевые вызовы и ресурсы;
читаемость имён, размер функций, дублирование и архитектурные границы;
обновление документации, метрик и логирования при необходимости.
Как формулировать комментарии
Комментарии должны быть конкретными и уважительными. Полезно разделять блокирующие замечания, например ошибка безопасности, и необязательные предложения по улучшению. Вместо «плохо написано» лучше объяснить риск и предложить вариант: «Этот запрос выполняется внутри цикла и может создать N+1. Можем использовать select_related?»
Размер pull request
Небольшие PR проще и качественнее проверять. Если изменение большое, полезно разделить его на логические этапы: подготовительная миграция, изменение backend, изменение клиента, удаление старого кода.
Как ответить на собеседовании
Сначала проверяю, решает ли PR задачу и корректна ли логика, затем ищу риски безопасности, потери данных и breaking changes. После этого смотрю тесты, производительность, читаемость и соответствие архитектуре. Комментарии формулирую уважительно и конкретно, разделяя блокирующие проблемы и необязательные предложения. Цель review — улучшить код и снизить риск, а не критиковать автора.
Оцени свой прогресс