Результаты review


Самое главное при проведении review — это использование полученного результата. В результате review могут появиться следующие артефакты:

  • Описание способа решения задачи (design review)
  • UML диаграммы (design review)
  • Комментарии к стилю кода (code review)
  • Более правильный вариант (быстрый, легкочитаемый) реализации (design review, code review)
  • Указание на ошибки в коде (забытое условие в switch, и т.д.) (code review)
  • Юнит тесты (design review, code review)


При этом очень важно, чтобы все результаты не пропали, и были внесены в VCS, wiki. Этому могут препятствовать:

  • Сроки проекта.
  • Лень, забывчивость разработчиков
  • Отсутствие удобного механизма внесения изменений review, а также контроль внесения этих изменений.


Для преодоления этих проблем частично может помочь:

  • pre-commit hook в VCS
  • Создание ветви в VCS, из которой изменения вливаются в основную ветвь только после review
  • Запрет сборки дистрибутива на CI сервере без проведения review. Например, при сборке дистрибутива проверять специальные свойства (svn:properties), либо специальный файл с результатами review. И отказывать в сборке дистрибутива, если не все ревьюверы одобрили (approve) код.
  • Использование методологии в разработке (в которой code review является неотъемлемой частью).

Сложности при проведении review (субъективное мнение)


Основная сложность, с которой мы столкнулись, когда внедряли review в первый раз: это невозможность контроля изменений по результатам review. Отчасти это связано с тем, что данная практика применялась без других практик — CI (это еще раз доказывает тот факт, что все инженерные практики должны применяться вместе).

Утилиты для review


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

Ссылки

  • http://blog.not-a-kernel-guy.com/2007/02/21/151
  • http://www.rsdn.ru/forum/management/3350124.flat.aspx
  • http://ostatic.com/blog/open-source-code-review-tools
  • http://xn-----clcksaplxf6byd3cyb.xn--p1ai/

Рефа́кторинг (англ. refactoring) или реорганизация кода — процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы[1][2]. В основе рефакторинга лежит последовательность небольших эквивалентных (то есть сохраняющих поведение) преобразований. Поскольку каждое преобразование маленькое, программисту легче проследить за его правильностью, и в то же время вся последовательность может привести к существенной перестройке программы и улучшению её согласованности и четкости.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: