Статьи

Инструменты качества кода в Java

Есть несколько инструментов для измерения качества кода. Те, которые я попробовал с большим успехом:

  • 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 .

С http://karussell.wordpress.com/