Обзоры кода улучшают качество программного обеспечения, поэтому они всегда должны быть частью нашей повседневной работы. В следующей статье я представлю плагин интегрированного анализа кода Eclipse, разработанный в Венском технологическом университете и представленный на EclipseCon 2009.
Вступление
ReviewClipse помогает разработчикам эффективно просматривать исходный код для каждого набора изменений — проверяемый элемент — это один набор изменений в системе контроля версий. Благодаря простому дизайну можно начать процесс проверки любого существующего проекта за несколько минут. Все рецензионные данные хранятся в файлах, которые передаются в уже настроенное хранилище Subversion вашего проекта. Таким образом, нет необходимости устанавливать какое-либо серверное приложение, кроме уже существующего хранилища Subversion. Рецензент использует специальный редактор рецензий для проверки наборов изменений, сравнивает различные версии файла с редактором сравнения и оставляет свой рейтинг и необязательные комментарии для коммиттера набора изменений. Редактор обзора согласуется с основными понятиями среды Eclipse, поэтому первоначальное обучение займет немного времени.
Установка
Чтобы использовать ReviewClipse, вам нужен как минимум Eclipse Ganymede (3.4) и совместный проект Subversion Eclipse. В настоящее время ReviewClipse поддерживает только Subversion, но мы едва ли работаем над поддержкой нескольких систем контроля версий в ближайшем будущем. Не имеет значения, используете ли вы Subversive или Subclipse в качестве клиента Subversion, они оба будут работать без проблем.
Установите ReviewClipse, открыв диалоговое окно «Обновления программного обеспечения» в Eclipse, и добавьте следующий сайт на доступные сайты обновлений:
http://www.inso.tuwien.ac.at/projects/reviewclipse/update-site
Откройте сайт обновлений и выберите функцию ReviewClipse и соответствующий адаптер Subversion в зависимости от используемого клиента Subversion:
Перейдите в « Установка…» и следуйте инструкциям по установке. После перезапуска Workbench ReviewClipse должен быть установлен и работать правильно.
Настройка отзывов
Конфигурация обзора для проекта создается с помощью мастера в течение нескольких минут. Каждый разработчик (автор) может иметь одного или нескольких рецензентов. Если автор фиксирует свои изменения в хранилище Subversion, рецензенты получат новое задание рецензирования, чтобы просмотреть все изменения ревизии.
Мастер обзора запускается из контекстного меню (в Package- или Project-Explorer) общего проекта Subversion. Откройте обзор — обзор проекта … и перейдите на следующую страницу. Чтобы все было как можно проще, ReviewClipse выбирает всех пользователей Subversion из хранилища. Таким образом, нет необходимости настраивать авторов или рецензентов, поскольку эти пользователи уже должны быть определены в вашем хранилище.
Обнаружив всех пользователей Subversion, мы переключаемся на следующую страницу мастера, где настраиваем назначения для обзоров. Каждый автор может иметь одного или нескольких рецензентов, и каждый рецензент может быть назначен нескольким авторам. Итак, есть несколько возможных сценариев:
- Отзывы разработчиков между собой
- Главный рецензент (например, технический лидер, старший разработчик) рецензирует всех других разработчиков
- Hyprid подход, при котором разработчики и главный рецензент делают обзоры
Это зависит от вас, как вы делаете свои отзывы. В нашем примере мы взяли третий подход, разработчики рассматривают среди друг друг Java — файлов, и менее опытный разработчик Бен является неоспоримый обзором старшего разработчика Криса искать аномалии и соблюдение стандартов кодирования. Последнее назначение не имеет установленного фильтра, потому что мы хотим видеть изменения всех файлов.
После завершения работы мастера обзора в проекте Eclipse создается файл обзора, который необходимо передать для совместного использования конфигурации обзора всем пользователям.
Делать отзывы
Для большинства инструментов проверки рецензии должны создаваться вручную ответственным лицом (например, руководителем проекта), создавая задачу рецензирования, назначая автора и возможных рецензентов и прикрепляя некоторые файлы (проверяемые элементы) из локального файла. система или система контроля версий. ReviewClipse использует другой, более легкий подход: каждый рецензент подписывается на изменения от одного или нескольких авторов. Если автор делает коммит в репозиторий Subversion, рецензент получает новую задачу рецензирования в редакторе рецензий. На основе ревизии рецензент делает рецензию кода и пишет комментарии для первоначального автора ревизии.
Рецензии выполняются с помощью специального редактора рецензий. Этот редактор показывает все выдающиеся и готовые отзывы для пользователя. Чтобы увидеть редактор обзора в действии, мы открываем его с помощью контекстного меню « Обзор проекта » — «Открыть редактор отзывов» . При первом открытии редактора может быть открыто диалоговое окно для идентификации текущего пользователя с автором / рецензентом:
В нашем случае мы используем Крис для обзоров. В области заголовка отображается текущий пользователь. В правом углу области заголовка у нас есть действие, которое ищет новые наборы изменений, что означает новую рецензию для меня или другого рецензента. В верхней таблице показаны все рассматриваемые наборы изменений. Набор изменений актуален для текущего пользователя, если он является автором или рецензентом набора изменений (также обозначается значком во втором столбце).
В нижней левой части редактора отображаются все измененные файлы из выбранного набора изменений. Файл можно сравнить с предыдущей версией или открыть для выбранной ревизии. Рецензенту будет интересно сравнить файл с предыдущей версией, но если файл был добавлен в выбранную ревизию, можно просмотреть только эту версию.
Нижняя правая часть редактора используется для написания отзыва об авторе ревизии. Для набора изменений также присваивается значение « Пропущено» , « Предупреждение» или « Ошибка» , в зависимости от серьезности обнаруженных ошибок Комментарий рецензии доступен только для наборов изменений, в которых текущий пользователь назначен рецензентом. На приведенном выше снимке экрана текущий выбранный набор изменений был рассмотрен и оценен как Неудачный, поскольку автор забыл некоторые комментарии Javadoc в файле.
Если мы сохраним наши рецензии, закрыв редактор и зафиксировав рецензируемые файлы, первоначальный автор получит комментарии для необходимой доработки.
Вывод
Гибкая конструкция позволяет использовать различные типы моделей обзора, в зависимости от того, что лучше всего подходит для вашего процесса разработки программного обеспечения. Назначения могут быть выполнены одноранговым способом, где разработчики проверяют изменения кода одного или нескольких членов команды. Чтение кода друг друга приводит к тому, что разработчики узнают код своих коллег, тем самым поддерживая коллективное владение кодом. В результате улучшится совместное использование и повторное использование кода, будет поощряться взаимодействие и творческий подход команды.
кредиты
ReviewClipse — Eclipse интегрированный плагин обзора кода.
Марио БернхартThomas Grechenig
Industrial Software (INSO), Венский технологический университет, 2008.