dependencies-analyzer-plugin

Build Version Downloads

Описание

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

Пример:

Проект: https://github.com/pberdnik/DependenciesExample

Допустим, huge -- большой модуль, из которого хотим перенести классы в новый модуль. Для этого на вкладке Green Modules отмечаем сам модуль huge и модули, от которых будет зависеть новый -- допустим, только от core

В дереве проектов выбираем модуль huge, в верхнем тулбаре плагина нажимаем кнопку с друмя стрелками (Run Full Analysis), уточняем скоуп в диалоговом окне и запускаем анализ.

p.s. Для больших проектов анализ может быть долгим, поэтому результат сохраняется в .idea. И если изменений в коде не было, то на вкладке Green Modules можно поменять выбор модулей и перезапустить анализ второй кнопкой (Run Graph Analysis)

В результате классы размечаются в следующем формате:

Name.class *размер файла* [*глубина зависимости*] {*наличие цикла*}

где глубина зависимоти = максимальная глубина из всех зависимостей класса + 1

Цвет: зеленый -- можно просто перенести, желтый -- переносу мешает одна зависимость, красный -- переносу мешает больше одной зависимости.

Примеры:

Green2.java 1 [0] -- у класса нет зависимостей, поэтому глубина 0

Green1.java 4 [1] -- у класса есть только зеленые зависимости глубиной 0, так что его глубина на 1 больше

Cycle1.java 2 [2] {C} -- желтый, т.к. у класса только одна зависимость, мешающая переносу. {C} -- класс участвует в циклической зависимости.

На панели справа показываются все прямые и обратные зависимости текущего открытого класса.

Installation

  • Using IDE built-in plugin system:

    Settings/Preferences > Plugins > Marketplace > Search for "dependencies-analyzer-plugin" > Install Plugin

  • Manually:

    Download the latest release and install it manually using Settings/Preferences > Plugins > ⚙️ > Install plugin from disk...


Plugin based on the IntelliJ Platform Plugin Template.