Как избежать политики в обзорах кода?

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

Были ли у вас проблемы с политикой, когда вы просматриваете код? Если да, то как вы его избегаете?

Или, точнее, как сделать правильный обзор кода, чтобы, по крайней мере, участие в политике?

Ответы

Ответ 1

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

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

Люди люди, и они могут и будут пропускать разные вещи в своем коде. Вторая или третья пара глаз часто забирают вещи, которые автор полностью пропустил. Иногда эти вещи могут быть ослепительно очевидными, а еще еще пропущен автором кода.

Существует несколько проверенных способов обеспечения успешной проверки отзывов:

  • Как отметил Нейл Б., в обзор могут участвовать только члены команды, участвующие в коде. Если, конечно, нет веской причины, например, команда использует служебную программу или, возможно, промежуточное программное обеспечение, написанное другой группой, и вы хотите проверить свое использование предоставленной утилиты/промежуточного программного обеспечения/и т.д.
  • Подчеркните, что проект является коллективным, и команда должна работать вместе, чтобы гарантировать, что проект, то есть каждый отдельный вклад, объединенный вместе, является лучшим, что они могут сделать. Это не кусок, который был лучше, чем кусок dev.
  • Подчеркните возможности обучения, доступные команде из членов команды, участвующих в обзоре. Там накопленный многолетний опыт типичной команды разработчиков, как правило, довольно большой. Получение всего этого опыта, сближающегося в одном направлении, чтобы убедиться, что лучший продукт выходит, - это очень мощный инструмент, особенно для обучения менее опытных сотрудников.
  • Всегда подчеркивают, что это проверенный код. Не человек.
  • Всегда используйте язык, например, "эта функция не может протестировать отрицательные входы", а не "Вы забыли проверить отрицательные входы"
  • Не разрешайте длительные обсуждения/отклонения/обоснования в обзоре.
  • Во время просмотра возможны только три ответа, принять изменения, отклонить изменения, отключить офлайн, чтобы обсудить их позже.
  • Фрагменты кода должны быть предоставлены перед началом работы.
  • Все участники обзора, помимо посредника, который проводит обзорное собрание, должны заранее прочитать код.
  • Время должно быть запланировано, чтобы рецензенты могли прочитать код.

Кстати, вы можете посмотреть проверки Fagan, который еще больше занимает указанные выше моменты.

Изменить: Извините, но я забыл упомянуть, что у вас must есть некоторые стандарты кодирования. В противном случае ваши отзывы легко спускаются в "священные войны" с битвами, такими как:

  • стиль скобки,
  • TAB или нет TAB в источнике,
  • уровни отступов 4 пробела или 8 пробелов
  • и др.

Наличие стандарта кодирования устраняет такие обсуждения из уравнения. Имейте в виду, что у вас все еще будут такие, э-э, "захватывающие" обсуждения при разработке стандартов кодирования!; -)

Ответ 2

Если вы боитесь политики, не называйте их "обзорами кода" с самого начала, скорее публично и постепенно вводите некоторые из них:

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

Все это во имя улучшения ремонтопригодности, удобочитаемости, соблюдения стандартов, сокращения ошибок и т.д.

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

Ответ 3

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

Ответ 4

Будьте первыми, кто будет просмотрен. Не приносите вещи, как "хорошо, ребята, теперь я буду на вашем soulder, лучше иметь хорошую вещь, чтобы показать мне".

Ответ 5

Сделайте устав для стандартов кодирования для своей команды.