Инструмент анализа кода Java / Метрики

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

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

2 ответа

Решение

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

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

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

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

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

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

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

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

Другие вопросы по тегам