Skip to content

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.

License

LGPL-2.1, Apache-2.0 licenses found

Licenses found

LGPL-2.1
LICENSE
Apache-2.0
LICENSE.apache20
Notifications You must be signed in to change notification settings

romani/checkstyle

 
 

Checkstyle - Java Code Quality Tool


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 .

Table of Contents

Quick Start

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

Contributing

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.

Build Instructions

Please see the CheckStyle Documentation for information on how to build the project.

Feedback and Support

  • Visit our Discussions Page, where you can ask questions and discuss the project with other users and contributors. This is our preferred method of communication for topics like usage and configuration questions, debugging, and other feedback.
  • Stack Overflow is another place to ask questions about Checkstyle usage.
  • If you are interested in contributing to the project, you can join our Discord Contributors Chat.
  • Our Google Groups Forum is a mailing list for discussion and support; however, we may be slow to respond there.

Javadoc

Take a look at our javadoc to see our API documentation.

Sponsor Checkstyle

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.

Licensing

Checkstyle is licensed under the GNU LGPL v2.1 License. Checkstyle uses libraries:

About

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.

Resources

License

LGPL-2.1, Apache-2.0 licenses found

Licenses found

LGPL-2.1
LICENSE
Apache-2.0
LICENSE.apache20

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.0%
  • HTML 0.8%
  • Shell 0.6%
  • Groovy 0.2%
  • ANTLR 0.2%
  • JavaScript 0.1%
  • Other 0.1%