Как происходило код-ревью в прошлой команде

«Как происходило код-ревью в прошлой команде» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

В нашей команде код-ревью проводилось через GitHub/GitLab. Основные принципы:

  1. Пулл-реквесты:
    • Каждая фича/багфикс — отдельный PR
    • Обязательно 1-2 апрувера перед мержем
    • CI/CD пайплайн должен быть зеленым
// Пример комментария в ревью:
// Лучше использовать errors.Is() вместо == для сравнения ошибок
if err == io.EOF { ... }  // плохо
if errors.Is(err, io.EOF) { ... }  // хорошо
  1. Чеклист:

    • Соответствие кодстайлу (go fmt)
    • Тесты (покрытие >80% для критичных участков)
    • Документация публичных методов
    • Нет утечек ресурсов
  2. Культура:

    • Конструктивная критика
    • Обязательные пояснения для запросов изменений
    • 24-часовой SLA на ревью

Особое внимание уделяли:

  • Работе с горутинами (утечки, deadlock'и)
  • Обработке ошибок
  • Эффективности алгоритмов для hot paths