- Checkstyle
-
Checkstyle Stable release 5.5 / November 5, 2011 Written in Java Operating system Cross-platform Type Static code analysis License Lesser GNU General Public License Website http://checkstyle.sourceforge.net Checkstyle[1] is a static code analysis tool used in software development for checking if Java source code complies with coding rules.
Contents
Advantages and limits
The programming style adopted by a software development project can help to comply with good programming practices which improve the code quality, readability, re-usability, and reduce the cost of development. The performed checks mainly limit themselves to the presentation and don't analyze content, and do not confirm the correctness or completeness of the program. In practice, it can be fastidious to comply with all the style constraints, some of which could possibly harm the programming stages' dynamic; so, it may be useful to determine which level of check is needed for a certain type of program.
Examples of available modules
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.
It permits to check for instance:
- 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[2];
- Multiple complexity measurements, among which expressions.
Usage
Checkstyle is built in a JAR file which can run inside a Java VM or as an Apache Ant task. It can also integrate into an IDE or other tools.
A Checkstyle plug-in can provide new functionalities, like:
- overload syntax coloring or decorations in code editor;
- decorate the project explorer to highlight problem-posing resources;
- add warnings and errors outputs to the outputs.
Thus, the developer can directly access to the code parts highlighted by Checkstyle.
History
Checkstyle, originally developed by Oliver Burn back in 2001, is maintained by a team of several developers around the world.
The current stable release is version 5.3[3] which is targeted towards the Java 5 language.
See also
- List of tools for static code analysis
- EclipseCS - Eclipse plugin for checkstyle.
- SevNTU-Checkstyle - extension for EclipseCS with number of check that are not part of checkstyle upstream.
References
- ^ "Checkstyle Home Page". 2010. http://checkstyle.sourceforge.net/. Retrieved 2010-11-02.
- ^ "Checkstyle Duplicate Code Check". 2010. http://checkstyle.sourceforge.net/config_duplicates.html. Retrieved 2010-11-02.
- ^ "Checkstyle Release Notes". 2010. http://checkstyle.sourceforge.net/releasenotes.html. Retrieved 2010-11-02.
Software engineering Fields Concepts Orientations Models Development modelsOther models- Automotive SPICE
- CMMI
- Data model
- Function model
- Information model
- Metamodeling
- Object model
- Systems model
- View model
Modeling languagesSoftware
engineers- Kent Beck
- Grady Booch
- Fred Brooks
- Barry Boehm
- Ward Cunningham
- Ole-Johan Dahl
- Tom DeMarco
- Martin Fowler
- C. A. R. Hoare
- Watts Humphrey
- Michael A. Jackson
- Ivar Jacobson
- Craig Larman
- James Martin
- Bertrand Meyer
- David Parnas
- Winston W. Royce
- Colette Rolland
- James Rumbaugh
- Niklaus Wirth
- Edward Yourdon
- Victor Basili
Related fields Categories:- Static program analysis tools
- Java libraries
- Java development tools
- Software engineering stubs
Wikimedia Foundation. 2010.