Подтвердить что ты не робот

Успешная стратегия просмотра кода с помощью SVN и ReviewBoard?

Мне удалось ввести ReviewBoard в рабочий процесс кодирования в моей компании, а "внедрить" означает установить и представить его. У нас также есть общее согласие в том, что нам нужны обзоры кода, однако мы не совсем уверены, как мы это хотели бы сделать.

Наш основной контроль над версиями - SVN, поэтому мы скорее ограничимся разветвлением и слиянием. Некоторые стратегии, о которых я думал:

  • Предварительный анализ с багажника. Плюсы включают в себя наличие одного патча, не имеющего незарегистрированного кода в репозитории. Контрасам приходится держать ваш чек в чистоте или разветвляться беднотой с несколькими проверками.
  • Пост-фиксация обзора с багажника. Работает отлично с Review Board, однако это не мешает людям совершать грязный код, а также позволяет им игнорировать запросы на отзыв.
  • Анализ после фиксации из ветки функции. Плюсы очевидны, так как функция может работать независимо, однако есть большая боль при создании серверных ветвей, а также гораздо больший эффект от синхронизации разных ветвей. Также см. Пункт 2.

Я хотел бы сделать это максимально безболезненным, поэтому есть несколько возможных автоматических дополнений к рабочему процессу, например, наличие робота, совершающего код, который заработал как минимум X "Корабль!". голосов и сделать обзорный совет "следить" за веткой функций с фиксацией. Тем не менее, я не уверен, какой рабочий процесс проверки кода может быть лучшим для нашей команды из примерно 8 кодеров. Мы не сможем изменять системы контроля версий, т.е. git -svn и SVK не может быть и речи (хотя последний все равно мертв).

Можете ли вы порекомендовать что-нибудь из своего опыта?

4b9b3361

Ответ 1

Комбинация ваших # 2 и # 3 (возможно, с сокращенными обзорами магистралей, если ветвь признака уже рассмотрена) может работать хорошо. Я считаю, что предварительные оценки немного удушливые - лучше иметь энтузиазм (зажженный вами?) Для обзора, заражающий всю команду.

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

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

Ответ 2

Настройте систему на доверие и подотчетность и сохраните ее:

  • Используйте здравый смысл: "Вы можете в любой момент проверить что-либо. Попросите провести проверку кода, когда вам это нужно. Добавьте" просмотренный" к комментариям, если он был пересмотрен для облегчения быстрых обзоров.
  • Совет по обзору отвечает за мониторинг изменений с помощью фиксации. Если они видят что-то, что им не нравится, возьмите его с разработчиком. Различные участники могут просматривать разные разделы.
  • Если разработчик продолжает проверять дерьмо, не спрашивая его, запустите его.
  • Если есть разделы системы, которые необычайно сложны/центральны/удобны в использовании - заблокируйте их и требуйте подтверждения для входа.
  • Каждый может контролировать регистрацию. Просмотр не предназначен только для обзорной доски.

Я видел эту работу с 2 разработчиками и со 100.

Ответ 3

Мы находимся в аналогичной позиции.

У вас есть svn настроенный для отправки по электронной почте всем вашим разработчикам с каждой фиксацией? Это хороший первый шаг в обеспечении честности каждого. Мы отправляем электронное письмо с сообщением журнала, первые 200 строк svn diff и ссылку на весь diff в trac (который в основном используется только для отображения svn diffs).

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

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

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

Ответ 4

Недавно мы представили ReviewBoard в наш процесс. Прежде чем мы добавили ReviewBoard, у нас было следующее:

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

Поскольку у нас уже были материалы post-commit, которые достаточно хорошо описывались другими вещами, мы используем ReviewBoard как инструмент предварительной фиксации и только после того, как мы нажмем "feature-complete" для данной версии.

Ответ 5

Я согласен с первым мнением: Предварительный анализ с внешней стороны

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

Ответ 6

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

Кстати, RB знает, как справляться с предварительными комментариями.