Рекомендации по инструменту статического анализа для Java?[закрыто]
-
01-07-2019 - |
Вопрос
Будучи смутно знаком с миром Java, я искал в Google инструмент статического анализа, который также был бы достаточно умен, чтобы устранять обнаруживаемые им проблемы.Я работал с CodePro tool, но, опять же, я новичок в Java-сообществе и не знаю поставщиков.
Какой инструмент вы можете порекомендовать, основываясь на приведенных выше критериях?
Решение
FindBugs, PMD и Checkstyle - все это отличные варианты, особенно если вы интегрируете их в свой процесс сборки.
В моей последней компании мы также использовали Укреплять чтобы проверить наличие потенциальных проблем с безопасностью.Нам повезло, что у нас есть корпоративная лицензия, так что я не знаю, сколько это обойдется.
Другие советы
Я рекомендую найти багов. http://findbugs.sourceforge.net/ Хорош в оказании помощи при проведении проверки кода.
ИДЕЯ IntelliJ от JetBrains.Они также делают ReSharper в сообществе .Net.
Вот мой список (45 пунктов) бесплатных инструментов статического анализа с открытым исходным кодом: Инструменты для повышения качества Java-кода - Обзор
Гидролокатор это инструмент контроля качества.Он оценивает качество приложений Java посредством соблюдения условных правил кодирования, метрических показателей и расширенных индикаторов.
Гидролокатор основан на следующих проектах :
JavaNCSS:Показатели качества
Контрольный стиль:Стиль Подбадривания
PMD:Сканирование кода на наличие потенциальных ошибок.
Cobertura:Тестовый охват
Вы также могли бы использовать Обезьяноподобный для обнаружения дублирования.
КРЭП4J это не только потрясающее название, но и весьма полезное.Все другие хорошие из них приведены выше, лучший из всех (ИМХО) - это FindBugs, потому что он действительно сразу находит самые настоящие ошибки в большой базе кода.
Ты можешь попробовать JavaDepend изменить, он дополняет другие инструменты статического анализа и предоставляет язык CQL для запроса кода, такого как database.,
JavaDepend предоставляет также множество интерактивных представлений для понимания существующей базы кода и более 82 показателей.
Все вышеперечисленное - отличные инструменты.ПМД, вероятно, является наиболее распространенным.
Другим инструментом является Энергия.Недавно она стала бесплатной, так что вы можете скачать ее и попробовать сами.Enerjy несколько более организована и лучше подходит для более крупных команд.Это упрощает настройку правил и совместное использование ими.Лично я не большой поклонник, но, возможно, вам это понравится больше, чем мне.
Пара коммерческих поставщиков, у которых есть предложение Java:
Они не будут "исправлять проблемы", которые обнаружат (как, я полагаю, и любые другие, упомянутые выше), но все эти инструменты имеют разные преимущества.