Checkstyle
Checkstyle ist ein in der Softwareentwicklung verwendetes Werkzeug für die Statische Code-Analyse zur Prüfung des Programmierstils von Java-Sourcecode.
Checkstyle | |
---|---|
Basisdaten | |
Aktuelle Version | 8.43[1] (30. Mai 2021) |
Betriebssystem | plattformübergreifend |
Programmiersprache | Java[2] |
Kategorie | Statische Code-Analyse |
Lizenz | GNU Lesser General Public License[3] |
checkstyle.sourceforge.net |
Einsatzgebiet
Der in Softwareentwicklungsprojekten verwendete Programmierstil kann die Softwarequalität, Lesbarkeit und Wiederverwendbarkeit verbessern. Damit können die Kosten der Entwicklung und Wartung der Software reduziert werden. Checkstyle kann eine Reihe von automatisierbaren Prüfungen des Programmierstils durchführen. Diese Prüfungen können einzeln ein- und ausgeschaltet werden, sowie für den in dem zu prüfenden Projekt definierten Programmierstil konfiguriert werden. Das Fehlschlagen einer Prüfung führt je nach Konfiguration der Prüfung zu einem Fehler oder einer Warnung. Checkstyle kann um eigene Prüfungen erweitert werden.
Checkstyle ist kein Werkzeug zur automatisierten Erkennung von Programmierfehlern. Durch das Aufzeigen unerwünschter Programmierstile können aber mit Hilfe von Checkstyle Programmierfehler gefunden oder vermieden werden.
Checkstyle ist auch kein Werkzeug zur automatisierten Behebung fehlerhafter Programmierstile. Für Fehler in der Formatierung des Codes können Programme zur Quelltextformatierung eingesetzt werden.
Module
Checkstyle kommt mit einer Reihe von Modulen, die Prüfungen zu bestimmten Themen enthalten. Diese Module können um eigene Module mit eigenen Prüfungen erweitert werden.
- Annotations – Prüfungen zur korrekten Verwendung von Annotationen
- Block Checks – Prüfungen von Codeblöcken
- Class Design – Prüfungen zum Softwaredesign
- Coding – Prüfungen allgemeiner Kodierungsrichtlinien
- Duplicate Code – Prüfungen auf das Vorhandensein doppelten Codes (bis Version 6.1.1)
- Headers – Prüfungen bezüglich Kopfzeilen von Sourcecodedateien
- Imports – Prüfungen zur Verwendung von Imports
- Javadoc Comments – Prüfungen zum Vorhandensein, der Vollständigkeit und Formatierung von Javadoc-Kommentaren
- Metrics – Prüfungen der Einhaltung diverser Softwaremetriken
- Miscellaneous – diverse nicht in die anderen Module einordenbare Prüfungen
- Modifiers – Prüfungen zur korrekten Verwendung von Zugriffsmodifikatoren
- Naming Conventions – Prüfungen der Einhaltung definierter Namenskonventionen
- Regexp – Selbst mittels regulären Ausdrücken konfigurierbare Prüfungen
- Size Violations – Prüfungen zur Größe von Klassen, Methoden, Anzahl Parameter usw.
- Whitespace – Prüfungen zur Formatierung des Codes hinsichtlich Leerzeichen
Einsatz
Checkstyle wird als Java Archive geliefert und kann somit in jeder Java Virtual Machine und als Apache Ant Task laufen. Eine Reihe von Werkzeugen stellen Plugins für Checkstyle zur Verfügung, unter anderen auch Eclipse, Apache Maven oder SonarQube.
Geschichte
Checkstyle wurde ursprünglich 2001 von Oliver Burn entwickelt und wird jetzt als Open-Source-Software von einer Reihe von Entwicklern gewartet und weiterentwickelt.
Alternativen
Im Java-Umfeld werden üblicherweise neben Checkstyle auch noch PMD und FindBugs für ähnliche Zwecke wie Checkstyle eingesetzt. Siehe auch Liste von Werkzeugen zur statischen Codeanalyse.
Weblinks
- Release 8.43. 30. Mai 2021 (abgerufen am 21. Juni 2021).
- The checkstyle Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 18. Juli 2018).
- The checkstyle Open Source Project on Open Hub: Licenses Page. In: Open Hub. (abgerufen am 18. Juli 2018).