Есть несколько инструментов для измерения качества кода. Те, которые я попробовал с большим успехом:
- FindBugs (последняя версия 1.3.8) — использует статический анализ для поиска ошибок в коде Java . Это отличный инструмент, он обнаружил возможные исключения NullPointerException и намного больше ошибок в моих проектах. Иногда я спрашивал себя, как эта программа могла обнаружить эту «сложную» ошибку. С плагином Maven вы можете сделать:
mvn findbugs:findbugs
который будет использовать версию 1.3.8 из коробки
- PMD (последняя версия 4.2.5) — сканирует исходный код Java и ищет потенциальные проблемы . Правила настраиваются, но в начале вам понадобится только предоставленный (и вы тратите много времени на выбор избранного ). В NetBeans 6.5 этот инструмент хорошо интегрирован и работает как шарм (CTRL + ALT + P).
С плагином Maven вы можете сделать:
mvn pmd:pmd
после того, как вы указали следующее в pom.xml в разделе <report> <plugins>:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.3</version>
<configuration>
<targetJdk>1.5</targetJdk>
</configuration>
</plugin>
Другие инструменты могут быть
- JarAnalyzer — это утилита управления зависимостями для jar-файлов. Его основная цель — пройти через каталог, проанализировать каждый из файлов jar в этом каталоге и определить зависимости между файлами jar.
- HammurAPI — платформа управления качеством кода
но я не пробовал их до сих пор.
Для Findbugs и pmd есть плагин NetBeans ( SQE… среда качества программного обеспечения ), который выглядит многообещающе, но не работает с NullPointerException после того, как я установил его через центр обновлений и попробовал его в своем проекте. Может быть, я должен использовать один из снимков . (Кстати: я успешно использовал плагин pmd и findbugs в автономной версии).
Sonar — еще один интересный подход к использованию нескольких инструментов качества кода одновременно. С помощью сонара можно увидеть нарушения или возможные ошибки в течение нескольких дней или недель — так что вы смотрите на улучшения, и вы не потеряетесь в массе ошибок в начале. Еще один «многоинструментальный» проект — XRadar .
Немного оффтоп, но отличный инструмент — это proguard, который сжимает, оптимизирует, запутывает и проверяет файлы классов Java. Для этого есть даже плагин Maven .