Hero Image
- Mihai Surdeanu

Checkstyle and coding standards

Checkstyle is a development tool for helping programmers to write java code which follows a coding standard. In addition, is highly configurable and made to support any coding standard. It comes also with some predefined coding standards and is easy to use.

How to integrate Checkstyle in your environment? Let’s suppose you are using Maven as build tool. First step is to work on defining your own coding standard. If you don’t have any idea, don’t worry, you can follow an already defined one, like the one proposed by Google. Moreover, for my projects, I’ve also created one, few months ago. Feel free to download and use it. It’s absolutely free.

checkstyle.xml.txt

Next step is to add a new plugin in your POM file:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>3.1.2</version>
            <executions>
                <execution>
                    <id>verify-style</id>
                    <phase>process-classes</phase>
                    <goals>
                        <goal>check</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <logViolationsToConsole>true</logViolationsToConsole>
                <configLocation>checkstyle.xml</configLocation>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>com.puppycrawl.tools</groupId>
                    <artifactId>checkstyle</artifactId>
                    <version>8.40</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

Make sure your checkstyle.xml is deployed under project root directory!

Run mvn clean install and look for some logs to be sure everything is working as expected. If everything works as expected and no violations are reported, then you will see something like this in application logs:

[INFO] --- maven-checkstyle-plugin:3.1.2:check (verify-style) @ myalerts-app ---
[INFO] You have 0 Checkstyle violations.

The build will fail if at least one violation is reported. Don’t panic, this is the expected behavior because we want to make sure the coding standard is followed properly.

Happy coding!

Other Related Posts:

Multiple test executions with maven-surefire-plugin

Multiple test executions with maven-surefire-plugin

Hello boys & girls,

After a long period without no technical article, today, the time comes for a new one. It’s time to talk about how it’s possible to have multiple test executions using maven-surefire-plugin. First question is why we would like to multiple executions? Why one execution is not enough?

11th Oct 2020 - Mihai Surdeanu