Как часто следует проводить обзоры кода?

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

Ответы

Ответ 1

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

Точные условия, которые будут работать, зависят от среды и проекта. Наша среда такова:

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

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

Что касается того, как проводить обзор кода, это гораздо более амбициозный вопрос. Тот, который заслуживает собственного вопроса на SO (и на самом деле уже несколько):

https://stackoverflow.com/questions/89163/how-to-conduct-a-successful-code-review Лучшее программное обеспечение для обзора кодов для пира fooobar.com/questions/tagged/...

Ответ 2

Перед регистрацией. Регистрация часто связана с логическим завершением функции/модуля (зависит от программиста), поэтому это подходящее время. Когда код проверяется в нем, уже сложно отследить, кто закодировал что и когда.

Ответ 3

Каждый раз, когда какой-либо код будет проверен, поэтому перед регистрацией. Однако вы можете делать это чаще, чем в зависимости от проекта.

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

Я бы также предложил, чтобы более младший разработчик чаще просматривал код.