Wie soll man Wörter in Paketnamen trennen? Welche der folgenden Aussagen sind richtig?
com.stackoverflow.my_package
(unterstreichen)com.stackoverflow.my-package
(Bindestriche)com.stackoverflow.MyPackage
(CamelCase)
Was ist der allgemeine Standard?
java
naming-conventions
package
Jigar
quelle
quelle
com.stackoverflow.my.package
Antworten:
Das offizielle Dokument der Namenskonventionen schreibt Folgendes vor:
Verweise
Beachten Sie, dass insbesondere alles, was dem Domänenpräfix der obersten Ebene folgt, im obigen Dokument nicht angegeben ist. Das JLS stimmt dem auch mit den folgenden Beispielen zu:
Der folgende Auszug ist ebenfalls relevant:
Verweise
quelle
Alle drei sind nicht die Konventionen.
Verwenden Sie
com.stackoverflow.mypackage
.Die Paketnamen folgen nicht der Konvention zur Benennung von Kamelhüllen oder Unterstrichen oder Bindestrichen .
Außerdem gibt Google Java Style Guide genau die gleiche (dh
com.stackoverflow.mypackage
) Konvention an:quelle
Jeder kann den Unterstrich _ verwenden (es ist okay)
Niemand sollte Hypen benutzen - (seine schlechte Praxis)
Niemand sollte Großbuchstaben in Paketnamen verwenden (schlechte Praxis)
HINWEIS: Hier ist "Bad Practice" für technisch gedacht, dass Sie das verwenden dürfen, aber herkömmlicherweise ist es nicht gut zu schreiben.
Quelle: Benennen eines Pakets (docs.oracle)
quelle
Die offiziellen Namenskonventionen sind nicht so streng, sie "verbieten" nicht einmal die Notation von Kamelfällen außer dem Präfix (
com
in Ihrem Beispiel).Aber ich persönlich würde Großbuchstaben
und Silbentrennungenvermeiden , gerade Zahlen. Ich würde wählen,com.stackoverflow.mypackage
wie Bragboy es auch vorgeschlagen hat.(Silbentrennungen '-' sind in Paketnamen nicht zulässig)
BEARBEITEN
Interessant - die Sprachspezifikation hat auch etwas über Namenskonventionen zu sagen.
In Kapitel 7.7 Eindeutige Paketnamen sehen wir Beispiele mit Paketnamen, die aus Großbuchstaben bestehen (daher wäre die CamelCase-Notation in Ordnung), und sie schlagen vor, die Hyphonierung durch einen Unterstrich ("mary-lou" -> "mary_lou") und das Präfix java zu ersetzen Schlüsselwörter mit einem Unterstrich ("com.example.enum" -> "com.example._enum")
Weitere Beispiele für Großbuchstaben in Paketnamen finden Sie in Kapitel 6.8.1 Paketnamen .
quelle
Unterstriche sehen in Paketnamen hässlich aus. Für das, was es wert ist, verwende ich bei Namen, die aus drei oder mehr Wörtern bestehen, Initialen (zum Beispiel :)
com.company.app.ingresoegresofijo (ingreso/egreso fijo) -> com.company.app.iefijo
und dokumentiere dann den Zweck des Pakets inpackage-info.java
.quelle
Die Verkettung von Wörtern im Paketnamen ist etwas, was die meisten Entwickler nicht tun.
Sie können so etwas wie verwenden.
com.stackoverflow.mypackage
Siehe JLS-Namenserklärung
quelle