Рекомендация инструмента Static Analysis для Java?
Будучи смутно знакомым с миром Java, я искал инструмент для статического анализа, который также был бы достаточно интеллектуальным, чтобы исправить найденные проблемы. Я работал с инструментом CodePro, но, опять же, я новичок в сообществе Java и не знаю поставщиков.
Какой инструмент вы можете рекомендовать на основе вышеуказанных критериев?
Ответы
Ответ 1
FindBugs, PMD и Checkstyle - отличный выбор, особенно если вы интегрируете их в свой процесс сборки.
В моей последней компании мы также использовали Fortify для проверки возможных проблем безопасности. Нам повезло, что у меня есть лицензия на предприятие, поэтому я не знаю расходов.
Ответ 2
Ответ 3
Я рекомендую FindBugs. http://findbugs.sourceforge.net/ Хорошо помогает в просмотре кода.
Ответ 4
IntelliJ IDEA от JetBrains. Они также делают ReSharper в сообществе .Net.
Ответ 5
Вот мой список (45 элементов) бесплатных/открытых источников инструментов статического анализа: Инструменты качества кода Java - обзор
Ответ 6
Sonar - это инструмент контроля качества. Он измеряет качество приложений Java благодаря соблюдению правил кодирования, метрических показателей и расширенных индикаторов.
Сонар основан на следующих проектах:
Вы также можете использовать Simian для обнаружения дублирования.
Ответ 7
Все вышеперечисленное - отличные инструменты. Вероятно, PMD является наиболее распространенным.
Другим инструментом является Enerjy. Недавно он стал бесплатным, поэтому вы можете скачать его и попробовать сами. Enerjy несколько более организован и лучше подходит для более крупных команд. Это упрощает настройку и совместное использование правил. Лично я не большой поклонник, но, может быть, вам это понравится больше, чем я.
Ответ 8
CRAP4J - не только удивительное имя, но и весьма полезное. Другие хорошие - все выше, лучше всего (IMHO) - FindBugs, потому что он действительно находит ошибки честности и доброты сразу в большой базе кода.
Ответ 9
Вы можете попробовать JavaDepend, он дополняет другие инструменты статического анализа и предоставляет язык CQL для запроса кода, такого как база данных,
JavaDepend предоставляет также множество интерактивных представлений для понимания существующей базы кода и более чем 82 показателей.
Ответ 10
Несколько коммерческих поставщиков, у которых есть Java-предложение:
Klocwork
Coverity
Они не будут "исправлять проблемы", которые они находят (и, я полагаю, ни один из других упомянутых выше), но это все инструменты, которые имеют разные сильные стороны.