Как стать автором
Обновить

5 советов по проведению хорошего обзора кода

Проектирование и рефакторинг *
Перевод
Автор оригинала: Alberto Gutierrez
Обзор кода является одной из самых ценных инженерных практик.

   1. Обзоры кода улучшают качество кода: одна голово хорошо, а две — лучше.
   2. Обзоры кода — это прекрасный инструмент для изучения разработчиками тех частей приложения, которые они в дальнейшем могут сопровождать.
   3. Обзоры кода помогают узнавать лучшие практики от других разработчиков.
   4. Обзоры кода могут использоваться для проверки понятности и простоты всего приложения в целом.

Как вы могли заметить, в этом списке я не упомянул, что проведение обзоров кода помогает находить ошибки и соблюдать стандарты кодирования, и вот почему:

   1. Обзоры кода НЕ ДОЛЖНЫ проводиться с целью поиска ошибок.
   2. Обзоры кода НЕ ДОЛЖНЫ проводиться с целью проверки соблюдения стандартов кодирования.

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

Исходя из этой точки зрения, позвольте вам дать 5 советов по проведению хорошего обзора кода.

1. Проводите обзоры кода часто.


В моей работе были случаи, когда я страдал от того, что обзор кода был проведен слишком поздно. Я работал в компании, где масштабный обзор кода всего приложения был последней стадией разработки. Это было абсолютно бесполезно, поскольку поздние обзоры кода имеют следующие недостатки.
  • Чем больше кода необходимо просмотреть, тем больше вероятность того, что разработчик не согласится на последующий рефакторинг.
  • Чем дольше разработчик занимается каким-то участком кода, тем более вероятно, что этот участок становится «персональным». Я бы хотел напомнить, что одна из главных проблем разработчиков — это их эго. Если разработчик написал код, который работает, то несмотря на то, что этот код может быть плохим, программистское эго воспротивится любым предложениям по улучшению кода.
  • Чем ближе дата релиза, тем менее приоритетными становятся работы по улучшению кода.

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

2. Сделайте обзоры быстрыми и неформальными.


Забудьте про списки, просто повернитесь и попросите кого-то из коллег уделить вам 5 минут. Если же у вас есть список, то что-нибудь из этого обязательно произойдет:

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

Короткие и неформальные обзоры — это по сути диалоги, в которых человек не чувствует, что его рецензируют, скорее ему просто советуют.

3. Проводите обзоры кода с разными людьми.


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

   1. Полезно услышать разные точки зрения.
   2. В дальнейшем ваш код сможет сопровождать большее количество людей.
   3. Повышается командное взаимодействие.

4. Настройтесь на позитивный лад.


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

5. Научитесь получать удовольствие от проведения обзоров.


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

__________
В комментариях можно поделиться, проводите ли вы обзоры кода, как у вас это происходит, есть ли какой-нибудь интересный опыт и т.д.
Теги: code reviewревизия кодаобзор кода
Хабы: Проектирование и рефакторинг
Всего голосов 50: ↑38 и ↓12 +26
Комментарии 45
Комментарии Комментарии 45

Похожие публикации

Лучшие публикации за сутки