Die vollständige Codeprüfung umfasst das Superset der Regelkategorien. Jede andere Codeprüfung umfasst ein eindeutiges Subset dieser Kategorien.
Die folgende Tabelle enthält eine Liste aller Kategorien und Unterkategorien der vollständigen Codeprüfung sowie eine Beschreibung der Regeln in diesen Kategorien und Unterkategorien. In der linken Spalte werden die Kategorien in Fettdruck und die Unterkategorien in Normaldruck angezeigt.
Kategorie oder Unterkategorie | Beschreibung |
---|---|
Design Principles | Enthält Regeln für die Designprinzipien der objektorientierten Programmierung |
Complexity | Enthält Regeln, die eine unnötige Komplexität des Codes verhindern |
Globalization | Enthält Regeln, die auf den Best Practices für die Globalisierungscodierung basieren. Dadurch soll sichergestellt werden, dass der Code in lokalisierten Umgebungen fehlerfrei läuft |
Cultural Formatting | Enthält Regeln zu den unterschiedlichen Datenformatierungsoptionen, die weltweit eingesetzt werden |
Encoding | Enthält Regeln zur Prüfung der Codierung für die Globalisierung |
Locale Handling | Enthält Regeln zur Prüfung der Ländereinstellungen für die Globalisierung |
String Handling | Enthält Regeln zur Prüfung der Zeichenfolgeoperationen für die Globalisierung |
Translation | Enthält Regeln zur Prüfung des übersetzbaren Codes |
UI Specific | Enthält Regeln zur Prüfung von Layout und Inhalt der Benutzeroberfläche für die Globalisierung |
J2EE Best Practices | Enthält Regeln, die auf den Best Practices für die Entwicklung von J2EE-Anwendungen basieren, und unterstützt Webprojekte für WebSphere-Server |
Correctness | Enthält Regeln zur Ermittlung falscher Methodenaufrufe |
Data Race | Enthält Regeln zur Ermittlung von Methodenaufrufen, die zu Data-Race-Bedingungen in J2EE-Anwendungen führen können |
Garbage Collection | Enthält Regeln zur Ermittlung von Methodenaufrufen, die zu einer Verzögerung der Garbage-Collection führen können |
Maintainability | Enthält Regeln zur Ermittlung von Code, der in J2EE-Anwendungen möglicherweise nur schwer zu verwalten ist |
Performance and Scalability | Enthält Regeln zur Ermittlung von Methodenaufrufen, durch die die Leistung oder Skalierbarkeit einer J2EE-Anwendung eingeschränkt wird |
Resource Management | Enthält Regeln auf der Basis der J2EE Best Practices für die Nutzung von Ressourcen in J2EE-Anwendungen |
J2SE Best Practices | Enthält Regeln zur Prüfung des Codes auf die Einhaltung der J2SE Best Practices für die Java-Entwicklung |
AWT | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Verwendung der Abstract Window Toolkit-Bibliothek |
Casting | Enthält Regeln zur Feststellung von Fehlern in Bezug auf Casting (explizite Typumwandlung) und Coercion (implizite Typumwandlung) |
Cloneable | Enthält Regeln zur Feststellung von Fehlern in Bezug auf das Klonen von Objekten |
Comparison | Enthält Regeln zur Feststellung von Fehlern in Bezug auf Objektvergleiche und Objektgleichheitstests |
Conditional | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Verwendung von Bedingungen |
Constructors | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Definition und Implementierung von Konstruktoren |
Declaration | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Deklaration von Konstanten, Variablen und Feldern |
Exceptions | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Behandlung von Ausnahmen |
Initialization | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Initialisierung von Basiselementen und Objekten |
Loop | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Verwendung von Schleifen |
Null | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Verwendung von Null |
Portability | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Portierbarkeit |
Reflection | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Verwendung einer Reflexion |
Serialization | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Serialisierung |
Statement | Enthält Regeln zur Feststellung von allgemeinen Fehlern in Anweisungen |
Switch | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Verwendung von Switch-Anweisungen |
Threads | Enthält Regeln zur Feststellung von Fehlern in Bezug auf die Verwendung von Threads |
Naming Conventions | Enthält Regeln zu den Namenskonventionen von Elementen im Java-Code |
Conflicts | Enthält Regeln zur konsistenten Benennung von Elementen im Java-Code |
Performance | Enthält Regeln zur Umsetzung von Vorschlägen zur Leistungsverbesserung und zur Reduzierung des Speicherbedarfs in Java-Anwendungen |
Memory | Enthält Regeln zur Feststellung von durch die Speicherbelegung verursachten Leistungsschwächen |
Profiling | Enthält Regeln zur Feststellung von potenziellen Leistungsschwächen auf Grund von Profilerstellungsaktivitäten |
Speed | Enthält Regeln mit Verbesserungsvorschlägen in Bezug auf die Geschwindigkeit bei der Ausführung des Java-Codes |
Private API | Enthält Regeln zur Auffindung von APIs, die nicht in den Java-Code gehören |
Eclipse | Enthält Regeln zur Auffindung von APIs, die nicht in den Java-Code gehören |
Sun | Enthält Regeln zur Auffindung von APIs, die nicht in den Java-Code gehören |
WebSphere | Enthält Regeln zur Auffindung von APIs, die nicht in den Java-Code gehören |
Security | Enthält Regeln zur Prüfung der Übereinstimmung mit den Java-Sicherheitsstandards |
J2EE Security | Enthält Regeln zur Prüfung der Übereinstimmung mit den Java-Sicherheitsstandards in einer J2EE-Perspektive |
J2SE Security | Enthält Regeln zur Prüfung der Übereinstimmung mit den Java-Sicherheitsstandards in einer J2SE-Perspektive |
Structural Analysis | Enthält eine Reihe von Regeln für die Prüfung der Codearchitektur |
Breakable | Enthält Regeln für die Markierung von Objekten mit zu vielen unmittelbaren Abhängigkeiten |
Cyclic Dependency | Enthält Regeln für die Markierung von zyklischen Abhängigkeiten zwischen Objekten |
Hub | Enthält Regeln für die Markierung von Objekten mit zu vielen unmittelbaren Abhängigkeiten und unmittelbar abhängigen Komponenten |
java.lang.Object.equals()und java.lang.Object.hashCode() immer überschreiben