Ответ
В нашей команде код-ревью проводилось через GitHub/GitLab. Основные принципы:
- Пулл-реквесты:
- Каждая фича/багфикс — отдельный PR
- Обязательно 1-2 апрувера перед мержем
- CI/CD пайплайн должен быть зеленым
// Пример комментария в ревью:
// Лучше использовать errors.Is() вместо == для сравнения ошибок
if err == io.EOF { ... } // плохо
if errors.Is(err, io.EOF) { ... } // хорошо
-
Чеклист:
- Соответствие кодстайлу (go fmt)
- Тесты (покрытие >80% для критичных участков)
- Документация публичных методов
- Нет утечек ресурсов
-
Культура:
- Конструктивная критика
- Обязательные пояснения для запросов изменений
- 24-часовой SLA на ревью
Особое внимание уделяли:
- Работе с горутинами (утечки, deadlock'и)
- Обработке ошибок
- Эффективности алгоритмов для hot paths