Инструмент анализа кода Java / Метрики - PullRequest
5 голосов
/ 01 декабря 2011

Я ищу бесплатный инструмент для анализа и анализа кода Java, который я могу использовать для просмотра зависимостей классов, времени выполнения методов и т. Д. И, возможно, для распечатки диаграммы, которая их показывает. В настоящее время я использую задачу jdepend в ANT для достижения этой цели, но я думаю, что должен быть лучший инструмент для такого рода вещей. Я также предпочел бы, чтобы он был интегрирован с Netbeans, так как я бы предпочел не переносить все свои проекты в Eclipse для анализа. Я пытался поиграть с общественной версией Visual Paradigm, но мне это надоело очень быстро, когда она не предлагала синхронизацию кода в версии сообщества. Хотя я могу дать ему еще один шанс, если это действительно так. Я также попробовал BOUML, но, похоже, это скорее инструмент проектирования UML, чем существующий анализатор кода. Итак, мой вопрос: что вы, ребята, используете для анализа кода Java? Спасибо!

РЕДАКТИРОВАТЬ: Например, JDepend измеряет несколько метрик и может нарисовать симпатичный маленький график зависимостей, но он точно не имеет пользовательского интерфейса или чего-либо еще. Я думаю, что я ищу инструмент, который может вытянуть все мои классы и их зависимости друг от друга (jdepend только делает пакеты AFAIK), а также методы, которые вызываются между классами и обеспечивает метрическое число «насколько хорошо структура кода ". Я извиняюсь, если вопрос неясен, я просто ищу различные варианты, и у меня точно нет большого опыта работы с инструментами метрик кода ...

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Как заметил @Victor Сонар - очень хороший инструмент для статического анализа кода. Он создает графики, диаграммы и, как правило, позволяет разбивать и разбивать анализ Java-кода несколькими способами.

Тем не менее, он работает как сервер, который может требовать привилегий на вашей машине / сети, которых у вас может не быть. Я использую это сам, и я рекомендую это, но это не всегда практично. Итак, давайте посмотрим на некоторые из инструментов, которые он использует под капотом.

Во-первых, есть FindBugs . Как следует из названия, это помогает вам находить ошибки в исходном коде Java.

Далее, есть PMD . Он помогает находить ошибки различными способами из FindBugs.

В-третьих, есть CheckStyle . Это помогает обеспечить соответствие вашего кода определенным правилам стиля.

Наконец, есть Cobertura , который обрабатывает ваши байт-коды Java и анализирует, какие строки исходного кода выполняются вашими юнит-тестами (у вас есть юнит-тесты, верно?)

Это не исчерпывающий список инструментов, которые использует Sonar, но он охватывает то, что, кажется, основные моменты. Внутри сонара все они настраиваются на 100%. За пределами Sonar они все еще настраиваемы, но вам больше нравится XML.

2 голосов
/ 01 декабря 2011

Сонар. Хотя лично я никогда не использовал его, поэтому не могу ответить на вопросы о деталях.Тем не менее, я знаю, что наш инструмент для создания conitnuos интегрирован с ним для создания красивых картинок:)

...