Ответ
Code Review (CR) — это процесс проверки исходного кода другими членами команды перед его слиянием в основную ветку.
Основные цели:
- Повышение качества кода: Выявление багов, уязвимостей и проблем с производительностью.
- Передача знаний и стандартизация: Обучение новичков, распространение лучших практик и соблюдение code style.
- Снижение долгосрочных затрат: Раннее обнаружение проблем дешевле их исправления в production.
- Улучшение архитектуры: Коллективное обсуждение дизайна решений.
Лучшие практики для ревьювера:
- Сосредоточьтесь на коде, а не на авторе. Критикуйте код, а не человека.
- Задавайте вопросы, а не выдвигайте обвинения. "Можешь пояснить, как этот метод будет работать в случае X?" вместо "Это неправильно".
- Хвалите хорошие решения. Это мотивирует и закрепляет правильные паттерны.
- Соблюдайте SLA на ревью. Не задерживайте процесс.
- Проверяйте по чек-листу: корректность, читаемость, тесты, безопасность, производительность.
Лучшие практики для автора:
- Делайте небольшие и атомарные Pull Request (PR). Их проще и быстрее ревьюить.
- Пишите понятные описания к PR. Что сделано, зачем, как тестировать.
- Заранее проводите self-review. Уберите очевидные недочеты.
- Отвечайте на каждый комментарий. Либо исправьте код, либо конструктивно обсудите.
Что проверять:
- Функциональная корректность.
- Читаемость и соблюдение code style.
- Наличие и качество тестов.
- Возможные edge-cases и ошибки.
- Производительность и безопасность.
Эффективный Code Review — это инструмент обучения и один из главных гарантов качества кодовой базы.