Zum Inhalt springen

Checkstyle

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. Juni 2015 um 20:00 Uhr durch Panzerknacker (Diskussion | Beiträge) (Versionsnummer und Veröffentlichungsdatum aktualisiert). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Checkstyle

Basisdaten

Aktuelle Version 6.7
(31. Mai 2015)
Betriebssystem plattformübergreifend
Programmier­sprache Java
Kategorie Statische Code-Analyse
Lizenz GNU Lesser General Public License
http://checkstyle.sourceforge.net

Checkstyle ist ein in der Softwareentwicklung verwendetes Werkzeug für die Statische Code-Analyse zur Prüfung des Programmierstils von Java Sourcecode.

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
  • 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 Sonar

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.