Prof. Dr. Pape - Java Programmierrichtlinien - Package

Deutsch

Namenskonventionen - Package

Zurück zur Übersicht

Kleinbuchstaben verwenden

Regel: Verwende ausschließlich Kleinbuchstaben und Zahlen sowie Substantive für Paketnamen. Geläufige Abkürzungen sind erlaubt, um die Paketnamen kurz zu halten.
Regel: Um Pakete international eindeutig zu halten, sollte der Name mit dem umgekehrten Domainnamen der Organisation begonnen werden, dem dieser Quelltext zugehörig ist. Als weitere Abstufung können interne Abteilungsnamen und Produkt/Projektname verwendet werden.
Begründung: Portabilität der Javaprogramme.

Beispiel

de.sap.r3.internetshop, de.hska.info1

Begründung

Paketnamen werden immer mit Verzeichnissen identifiziert. Je nach Betriebssystem sind die dazu verfügbaren Zeichen beschränkt. Ebenso unterscheiden Betriebssysteme wie Unix Groß- und Kleinbuchstaben. Die konsequente Kleinschreibung dient der Portabilität zwischen verschiedenen Betriebsystemen. Wird beispielsweise unter Windows entwickelt, dann wird bei import meinPaket.A die Klasse A im Verzeichnis meinpaket gefunden. Aber nicht mehr unter Unix, den dort wird sie in meinPaket gesucht. Dieser Order existiert aber gar nicht, wenn der übersetze Bytecode auf das Unixsystem übertragen wird.

Der Domainname ist international registriert und damit eindeutig. Somit ist mit dieser Regel auch jedes Paket und deren Klassen einer Firma zuzuordnen. Bei zugekaufter Javasoftare entstehen so keine unauflösbare Konflikte bei Namensgleichheiten.

Packagename java / javax tabu

Regel: Die Paketnamen java und javax sind ausschließlich für offizielle Java-Erweiterungen erlaubt.
Begründung: Sicherheit der Javaprogramme.

Begründung

eben der Portabilität steht hier vor allem im Vordergrund, dass niemand elementare Javastandards umgehen kann: zum Beispiel durch Angabe einer eigenen String Klasse java.lang.String oder gar java.lang.Object. Die darauf basierende Software würde zwangsläufig ein Desaster werden, da diese Implementierungen dann auch von den Klassen der Laufzeitumgebung verwendet werden. Wegen derartigen Sicherheitsgründen sind auch viele vorhandene Klassen wie String als final deklariert.