What is it all about?
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard. Checkstyle is highly configurable and can be made to support almost any coding standard. An example configuration files are supplied supporting the Sun Code Conventions, Google Java Style.
Checkstyle defines a set of available modules, each of which provides rules checking with a configurable level of strictness (mandatory, optional...). Each rule can raise notifications, warnings, and errors. For example, checkstyle can examine: * Javadoc comments for classes, attributes and methods; * Naming conventions of attributes and methods; * Limit of the number of function parameters, line lengths; * Presence of mandatory headers; * The use of packets imports, of classes, of scope modifiers and of instructions blocks; * The spaces between some characters; * The good practices of class construction; * Duplicated code sections; * Multiple complexity measurements, among which expressions.