Почему нужно регулярно проводить код-ревью

Бизнес-процессы
Блог
Почему нужно регулярно проводить код-ревью
Поделиться:

Что такое код-ревью?

Практика проверки кода (код-ревью) на наличие ошибок, изъянов, пропусков, уязвимостей одним программистом за другим получила широкое распространение.

Определение и основные цели

Ревью кода (Code Review, CR) — необходимый шаг в программировании для обзора и анализа исходного кода, который помогает выявить и исправить недочеты после начальной стадии разработки.

CR преследует две цели:

  • Найти ошибки, стилистические недочеты с точки зрения проекта, уязвимости, пропуски.
  • Улучшить читаемость и архитектуру кода, наладить коммуникацию сотрудников.

Почему регулярные код-ревью важны?

Регулярное проведение Code Review позволяет повысить эффективность команды и улучшить качество code за счет снижения факторов риска (Bus factor).

Проверка помогает найти баги и недочеты в ходе программирования, а также увеличить шансы обнаружения упущенных кейсов.

Код после ревью становится чище и понятнее другим разработчикам для прочтения.

В процессе обзора более опытный проверяющий делится опытом и способствует обучению разработчиков.

Улучшение качества кода

Code Review способствует улучшению качества кода благодаря тому, что любые изменения попадают в основное хранилище и в релиз-версию ПО только после обзора остальными участниками ИТ-команды.

Процесс состоит из этапов:

  • Добавление новой функции в code и оповещение коллег о необходимости тестирования обновлений
  • Обзор code ревьюерами и фидбек. Для реального повышения качества обязательным условием является отметка архитектурных недочетов или плохого стиля.
  • Работа с замечаниями. Автору предстоит привести убедительные аргументы в защиту своей позиции или внести нужные исправления.

Обнаружение и исправление ошибок

Серия CR называется раундами. Каждый направлен на поиск багов, изъянов и ошибок, которые могут снизить качество продукта.

Раунды состоят из этапов: оценка размеров запроса на слияние веток Merge Request (MR), реализация глобальных правок (например, работа над неверно выбранным подходом к разработке) и менее важных исправлений.

Отсутствие подобных проблем не значит отсутствие работы. В этом случае ревьюер ищет возможности для улучшения, оставляет фидбек и возвращает автору на доработку.

Обучение и обмен знаниями

Цель Code Review — не просто поиск недочетов и багов, а также обучение, обмен опытом среди разработчиков. Процесс важно сделать максимально полезным благодаря изучению различных точек зрения.

Рецензент после CR не должен чувствовать себя виноватым из-за недостаточности знаний. Важно, чтобы он понял комментарий ревьюера и почему важно внести исправления в соответствии с ним.

Как проводить эффективные код-ревью?

Существуют общие закономерности при проведении код-ревью. Рекомендации:

  • Автоматизация. Облегчает работу и снижает риск ошибок.
  • Проверка каждого программиста. Погрешность может допустить и джун, и старший разработчик, поэтому важно создать
  • Диагностика задач. Обзор должен быть цельным, а не выборочным.
  • Соблюдение правила — смотреть не более 200-400 строк кода за один прием. Объемные задачи рекомендуется дробить.

Лучшие практики и советы

CR может как принести пользу, так и навредить в зависимости от качества фидбека. Полезная обратная связь помогает создать высокое качество кодовой базы.

Во время обзоров можно продемонстрировать свой опыт, а также стать наставником для других разработчиков и внести свой вклад в рост команды.

Инструменты для код-ревью

Популярные инструменты для проведения ревью:

GitHub — инструмент обзора с помощью pull-запросов, когда ревьюер получает доступ к репозиторию, может привязать себя к запросам и завершить ревью.

Review Board — open-source решение. В зависимости от требованийпозволяет выполнять проверку как pre-commit, так и post-commit.

Upsource — инструмент, который обладает всеми необходимыми функциями для автоматизации и дает возможность проверять на мобильных устройствах.

Примеры успешных код-ревью

Кейсы из практики ведущих компаний

Результат опроса программистов Microsoft показал, что 36% разработчиков компании проводят CR несколько раз за день, 39% — по одному ревью каждый день.

Ревью кода в Microsoft, как видно по результатам большинства опрошенных, считают полезной практикой, которая позволяет искать неисправности, обучать сотрудников и самосовершенствоваться.

В компании используют внутреннюю программу CodeFlow. Программа делает автоматическую рассылку ревьюерам и содержит множество рабочих инструментов для комментирования и обсуждения.

CodeFlow.png

Роль код-ревью в развитии команды

Систематический CR, создание списков полезных комментариев и конструктивных предложений, активное сотрудничество с ревьюером способствуют формированию более качественного и стабильного кода, а также профессиональному развитию каждого участника команды разработки.

Хочешь работать с нами? Отправь свое резюме

Нажимая на кнопку, вы соглашаетесь с Политикой конфиденциальности персональных данных

Файлы cookie обеспечивают работу наших сервисов. Используя наш сайт, вы соглашаетесь с нашими правилами в отношении этих файлов.