JRipples - JRipples

JRipples
Разработчики)Джонатан Бакнер, Йозеф Бухта, Максим Петренко, Вацлав Райлих, Лаурентиу Раду Ванчу
Стабильный выпуск
3.2.1 / 7 октября 2010 г.; 10 лет назад (2010-10-07)
Написано вЯва
Операционная системаКроссплатформенность
ТипАнализ влияния изменений инструмент
Интернет сайтhttp://jripples.sourceforge.net/

JRipples это анализ воздействия изменений инструмент для Язык программирования Java. Это помогает разработчику рассчитать влияние изменения программного обеспечения. Это открытый исходный код Затмение плагин. Инструмент не только дает соответствующий анализ программы, но также организует этапы распространения изменений.[1]

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

История

JRipples был разработан Максимом Петренко с 2005 года. Петренко входил в состав SEVERE group of the Государственный университет Уэйна Департамент компьютерных наук в Детройте, штат Мичиган. Исследования и внедрение были выполнены во время его докторантуры. Он поддерживается Лаурентиу Раду Ванчиу.

Простой пример

JRipples интегрируется в Затмение панель инструментов меню. Чтобы начать анализ, пользователь выбирает JRipples -> Start Analysis.

Eclipse Menubar с установленным JRipples
Eclipse Menubar с установленными JRIpples
Экран выбора проекта JRipples
Экран выбора проекта JRipples

Это предоставит разработчику всплывающее окно для выбора проекта. Затем инструмент проанализирует проект и представит меню с классами для проверки. После анализа появится иерархическое представление JRipples. В этом примере нужно проанализировать только один класс «Main», помеченный зеленым цветом «next».

Окно JRipples после первоначального поиска
Окно JRipples после первоначального поиска

После того, как разработчик посетит основной класс, будут представлены три варианта, щелкнув правой кнопкой мыши зеленую кнопку «Далее». Они бывают «Расположены», «Распространяются» и «Без изменений». В этом примере мы предположим, что изменение распространяется на другие классы.

Окно JRipples Пример распространения
Пример распространения вдовы JRipples

После выбора «Распространение» из контекстного меню, JRipples определила еще четыре класса, на которые могло распространиться изменение, и пометила их «Далее». Затем разработчик посетит каждый из этих классов, чтобы определить, распространилось ли изменение на эти классы или нет. Если изменение не требует изменения класса, класс будет помечен как «Без изменений», а разработчик перейдет к другому классу с пометкой «Далее».

Окно JRipples Пример расположения
Окно JRipples Пример расположения

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

Дополнительные возможности

JRipples включает две функции, которые делают поиск разработчика более прямым: Lucene и GREP анализ. Чтобы использовать эти инструменты, разработчику нужно только щелкнуть правой кнопкой мыши в иерархическом представлении JRipples и выбрать любой инструмент во всплывающем меню.

Инструмент GREP можно использовать как обычный инструмент GREP, однако JRipples будет ранжировать каждый класс на основе количества совпадений из GREP. Эта информация должна помочь разработчикам; они могут начать с наибольшего или наименьшего количества попаданий, в зависимости от своей стратегии.

Инструмент Lucene более интеллектуален. Когда разработчик впервые использует инструмент Lucene, проект необходимо проиндексировать, что может занять значительное время, если проект большой. Однако после индексации инструмент можно использовать несколько раз. После индексации инструмент работает аналогичным образом: слово или строка текста вводится во всплывающее окно поиска, и инструмент выполняет поиск. Однако теперь инструмент ранжирует каждый класс не только по тому, сколько раз поисковый запрос появляется в классе, но и по тому, как он используется. Во-первых, предполагается, что если запрос используется в классе только один раз, это должно быть важно.[2] Однако при этом учитываются и другие факторы. Конечным результатом является то, что классам присваивается десятичный порядковый номер, указывающий на то, что они, скорее всего, содержат концепцию.

Ошибки

Версия 3.2.0 содержит известную ошибку, фатальную ошибку при запуске в Eclipse IDE для Java EE для веб-разработчиков, код сборки: 20090920-1017. Однако он будет работать со стандартной версией Java Developers вместе со многими более старыми версиями Eclipse.

Рекомендации

  1. ^ JRipples: инструмент для понимания программы во время постепенных изменений http://portal.acm.org/citation.cfm?id=1059334
  2. ^ Отис Господнетич, Эрик Хэтчер, Lucene в действии. Публикации Мэннинга, 2005. ISBN  978-1-932394-28-3.

внешняя ссылка