У нас есть база кода Java, которая стала слишком большой для одного монолитного JAR (более 5000 классов).Одна из задач, которую мы исследуем, состоит в том, сколько усилий потребуется, чтобы разбить этот единственный JAR-файл на более мелкие компоненты с контролируемыми зависимостями между ними.Тем не менее, довольно сложно взглянуть на большой пакет кода и убедиться, что вы находите лучшие точки разделения без некоторого анализа.
Существуют ли хорошие инструменты для проверки и визуализации межпакетных зависимостей?Учитывая это, у нас будет набор предлагаемых точек отсечения, с которых мы могли бы начать разделять код.
В качестве примера, за несколько дней до Netbeans и Eclipse (и на другой работе) мы использовали TogetherJ и TogetherEnterprise.У них была возможность сделать статический анализ пакетов и нарисовать диаграмму UML.Такое поведение было бы оптимальным, но одной этой функции недостаточно для оправдания затрат.