Вакансия: младший Java программист
Небольшой компании разработчику ПО
требуется младший Java программист
Москва, м. Партизанская/ МЦК Окружная подробнее






Клуб Java разработчиков
Обсуждение интересных технологий
и новинок для Java разработчиков.
Москва, м. Партизанская подробнее






maven-checkstyle-plugin

Это очень полезный плагин. Плагин проверяет стиль и качество исходного кода. Проверка качества кода особенно актуальна при разработке в команде из нескольких программистов. Автоматизация такой проверки - большая помощь в этой нудной и кропотливой работе.

Плагин основан на проекте http://checkstyle.sourceforge.net/. Из наиболее часто используемых и простых проверок:

  • наличие комментариев
  • размер класса не более N строк
  • в конструкции в try-catch, блок catch не пустой.
  • не используется System.out.println(.. вместо LOG.error(..

Подключить плагин довольно просто:

..
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.7</version>
        </plugin>
...........
после этого можно запустить проверку кода:
mvn checkstyle:check
Плагин проверит исходный код на наличие нарушений и сгенерирует файл checkstyle-result.xml. Чекстайл удобно использовать совместно с непрерывной интеграцией. Автоматическая проверка кода сильно экономит время. Самое важное - относиться к checkstyle ошибкам также как и ошибкам компиляции - при их возникновении сразу исправлять, т.к. когда ошибок накапливается сотни, их исправлять и тратить время хочется ещё меньше.. Если checkstyle ошибки исправляются как только они появятся- весь код будет чисто написан и комментирован, и можно быть больше уверенным в его качестве.

Т.к. почти каждые проекты пишутся немного по-разному, рекомедую создать свой набор правил. Полный набор правил описан тут: http://checkstyle.sourceforge.net/availablechecks.html и задать его можно в специальном конфигурационном файле. (см. http://checkstyle.sourceforge.net/config.html) пример файла со сравнительно нестрогой проверкой приведён...

Внутри jar плагина есть примеры конфигурационных файлов:

  • config/sun_checks.xml - от Sun Microsystems. Используются по умолчанию.
  • config/maven_checks.xml - от Maven.
  • config/turbine_checks.xml -от Turbine.
  • config/avalon_checks.xml - от Avalon.

Если каком то месте кода появляется ошибка, но по объективным причинам код такой и должен быть, можно подавить вывод ошбки используя модуль SuppressionCommentFilter или SuppressionFilter

Пример объявления maven-checkstyle-plugin из реально работающего кода

 <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <configLocation>src/config/checkstyle.xml</configLocation>
            <consoleOutput>true</consoleOutput>
        </configuration>
        <executions>
            <execution>
                <phase>package</phase>
                <goals><goal>check</goal></goals>
            </execution>
        </executions>
</plugin>







blog comments powered by Disqus