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

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

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

Послушать аудиоверсию этой статьи (6 минут):

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

Когда вы пишете новую функцию, она не попадает сразу в проект. Вместо этого ваш код отправляется на код-ревью (code review).

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

Во время код-ревью кто-то из старших товарищей изучает ваш код на предмет:

  • Ошибок.
  • Стилистики — пишете ли вы так, как принято в компании.
  • Оформления кода — соблюдаете ли вы отступы и табуляцию, чтобы код было легче читать.
  • Комментариев — если в компании принято комментировать ключевые моменты в коде.
  • Адекватность реализации — вы предложили изящное решение или решили всё грубой силой? А что уместнее в этой ситуации?
  • Влияния на проект — если вы полностью переписали формат передачи данных на сервер, то это значит, что другим участникам нужно будет подстроиться под вас и переписать свою часть. Это дорого.
  • Уязвимостей в безопасности — может ли что-то пойти не так, если злоумышленник решит использовать этот код в своих целях.

Если проблемы есть, проверяющий отправляет код на доработку. Если всё хорошо, код переходит на следующую стадию — как правило, в тестирование.

Кто проводит

Обычно принято так: код-ревью делают программисты более старшего уровня. Джуниоров проверяют мидлы, мидлов — сеньоры, сеньоров — другие сеньоры или тимлиды. Если компания большая, то могут выделить отдельно несколько человек, которые смотрят код у всех и следят за общим стилем.

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

Как это выглядит

  1. Программист написал код и отдал его на проверку
  2. Проверяющий смотрит код, исправляет ошибки или пишет свои комментарии. В маленьких компаниях может встретиться лично и рассказать, что было не так с кодом и как это исправить.
  3. Если замечаний много, автор идёт переделывать. Если мало или их нет — проверяющий делает всё сам и передаёт код дальше.

Зачем это нужно

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

Когда в команде программистов много, то компания сталкивается с тем, что все пишут по-разному. И даже если весь этот код работает, его потом нужно поддерживать, а ковыряться в чужом коде, если он плохо написан — это долго и дорого. Поэтому на этапе код-ревью разработчики делают так, чтобы им же позднее было проще поддерживать код и ничего не ломалось.

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Крутейшие задачи на комбинаторику

Комбинаторика и поиск наилучшего решения для всех.

medium
Нестыдные вопросы об ИТ

С чего начать, на что не тратить время, кому уже поздно.

easy
Мальчик заливает на FTP, мужчина поднимает Git

Зачем нужен контроль версий и что делать, если ваши друзья его используют.

hard
Что такое демоны и службы в программировании
Что такое демоны и службы в программировании

Это маленькие программы, которые работают в фоновом режиме

easy
Чем отличается авторизация от аутентификации
Чем отличается авторизация от аутентификации

Как усложнить жизнь злоумышленникам.

medium
Что такое бэкап, зачем он нужен и как его делать
Что такое бэкап, зачем он нужен и как его делать

Каждый разработчик однажды ЛИШИЛСЯ ВСЕГО, потому что не сделал бэкап.

easy
Что такое обратная совместимость
Что такое обратная совместимость

Это когда старая игра запускается на новой приставке

easy
Что такое Design first и Code first
Что такое Design first и Code first

Это когда программисты делают то, что скажут дизайнеры, или наоборот.

easy
Что такое драйвер и зачем он нужен
Что такое драйвер и зачем он нужен

Это виртуальная инструкция к любому «железу» в компьютере

easy
Чем отличается C от C++
Чем отличается C от C++

На 99% — ничем, но в C++ есть родная поддержка ООП.

easy
Java и JavaScript: в чём разница?
Java и JavaScript: в чём разница?

Нестыдные вопросы.

easy
Что такое функциональное программирование
Что такое функциональное программирование

Это не про функции!

easy
Зачем программистам сразу два монитора (а то и три)
Зачем программистам сразу два монитора (а то и три)

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

easy
easy