Цель не в том, чтобы накормить ваше эго. Цель - постоянное совершенствование

Сотрудничайте, развивайтесь и учитесь получать удовольствие от процесса

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

В конце концов, вы, ваш рецензент, и продукт выиграете.

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

Не верите мне?

Готов поспорить, что в вашей истории как разработчика был по крайней мере один раз, когда вы чему-то научились по CR.

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

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

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

Если вы все еще настроены скептически, ознакомьтесь с этой фантастической статьей Atlassian (создателей Jira) на тему Почему важны проверки кода .

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

Какие преимущества вы получаете?

  • Вы получаете глубокий и целенаправленный анализ вашего выбора дизайна кем-то, кто знаком с кодовой базой.
  • Вы получаете прямую обратную связь о своих решениях по синтаксису.
  • Вы получите советы по эффективности кода и потенциальные способы ее улучшения.
  • Вы получаете (по крайней мере) базовый анализ безопасности кода.
  • В некоторых случаях ваши рабочие отношения между вами и вашим рецензентом улучшатся. Вы можете даже завести друга!
  • Душевное спокойствие, зная, что вы хотя бы второй раз смотрели на свою работу, прежде чем она попадет в производство.

Какие преимущества получает ваш рецензент?

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

Какие преимущества получает продукт?

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

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

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

Руководство к жизни (Код) Автор

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

Что это значит?

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

Идите прямо к источнику (каламбур). Попросите профильного эксперта рассмотреть изменение.

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

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

Правильное чувство

Размещение правильных людей в CR запускает интенсивный, но полезный процесс обратной связи. Код входит в цикл, он просматривается, вы вносите изменения и повторяете.

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

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

Спасибо за чтение!