Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly configurable. It can be invoked with an ANT task and a command line program.
Checkstyle is a tool that ensures adherence to a code standard or a set of best practices.
The latest release version can be found at
GitHub releases
or at Maven repo.
Each-commit builds of maven artifacts can be found at
Maven Snapshot repository.
Documentation is available in HTML format, see https://checkstyle.org/checks.html .
$ cat config.xml
<?xml version="1.0"?>
<!DOCTYPE module PUBLIC
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
"https://checkstyle.org/dtds/configuration_1_3.dtd">
<module name="Checker">
<module name="TreeWalker">
<module name="FallThrough"/>
</module>
</module>
$ cat Test.java
class Test {
public void foo() {
int i = 0;
while (i >= 0) {
switch (i) {
case 1:
case 2:
i++;
case 3: // violation 'fall from previous branch of the switch'
i++;
}
}
}
}
$ java -jar checkstyle-10.18.1-all.jar -c config.xml Test.java
Starting audit...
[ERROR] Test.java:9:9: Fall through from previous branch of switch statement [FallThrough]
Audit done.
Checkstyle ends with 1 errors.
Thanks for your interest in contributing to CheckStyle! Please see the
Contribution Guidelines
for information on how to contribute to the project. This includes creating issues, submitting pull
requests, and setting up your development environment.
Please see the CheckStyle Documentation for
information on how to build the project.
Take a look at our javadoc to see
our API documentation.
Checkstyle is an open-source project that is developed and maintained by volunteers. If you
find Checkstyle useful, please consider sponsoring the project. Your support helps us to
maintain and improve Checkstyle.
Checkstyle is licensed under the GNU LGPL v2.1 License.
Checkstyle uses libraries: