Есть ли инструмент, который проверит мой Java-код и предложит хорошую структуру пакета?
-
02-07-2019 - |
Вопрос
У меня большая база кода, и я хотел бы провести рефакторинг структуры пакета, чтобы интенсивно взаимодействующие классы находились в одном пакете.
Кажется, что должна быть возможность создать инструмент, который мог бы отслеживать взаимодействия между классами, а затем группировать вместе те классы, которые активно взаимодействуют.Эти группировки могут затем предложить хорошую иерархию пакетов.
Существует ли такой инструмент?(открытый исходный код предпочтителен).
Решение
Structure Analysis for Java — это плагин Eclipse, который выполняет некоторый анализ зависимостей:
Другие советы
Structure101 — это еще один продукт, который может анализировать структуру вашего кода, а также выполнять анализ зависимостей и «что, если».
http://www.headwaysoftware.com/products/structure101/index.php
Вы можете попробовать Lattix, который использует матрицу структуры зависимостей, чтобы показать вам зависимости и скрытую структуру внутри вашего кода как на уровне класса, так и на уровне пакета.Раньше я находил это полезным для подобных вещей.
Попробуйте макароны (см. http://freshmeat.net/projects/pastatool/)
IntelliJ имеет некоторые инструменты матрицы кода в этом направлении.
Что-то, что может, по крайней мере, сказать вам, находитесь ли вы на правильном пути в плане дизайна, JDepend.Он поощряет зависимость от очень абстрактных пакетов (которые, предположительно, будут меняться меньше, чем пакеты с менее абстрактным кодом) и предупреждает вас, когда ваши пакеты имеют циклические зависимости.Я считаю, что это хорошая проверка реальности.
Существует множество способов его использования, в том числе в качестве Плагин Eclipse.