2012-09-21 14 views
32

Ich kann kein Q/A auf SO finden, die meine exakte Frage beantwortet, also ich denke, ich würde es veröffentlichen und sehen, was zurückkommt.Was ist die Konvention für Java-Paketnamen ohne Domänenzuordnung?

Was die Namenskonvention für Java-Pakete geht, verstehe ich, dass es der Reverse Domain-Name sein angenommen hat: com.whatever.stuff und ich die Regeln über keinen gemischten Fall erhalten, Bindestriche, Keywords usw.

I‘ Lesen Sie auch Abschnitt 7.7 (Unique-Package-Names) der Java Language Specification. Soweit ich das beurteilen kann, sind die Regeln von Java die Reverse Domain verwenden, um sicherzustellen, Einzigartigkeit ... und wenn man einen nicht haben, gehen eins zu bekommen:

You form a unique package name by first having (or belonging to an organization that has) an Internet domainname, such as sun.com. - Abschnitt 7.7

Also, wenn Ich bin nicht daran interessiert, das Geld für einen Domain-Namen auszugeben, ich gehöre nicht zu einer Firma, deren Namen ich huckepack tragen kann, gibt es einen Teil der Namenskonvention, die ich vermisse, der gefolgt werden sollte? Ich denke, ich kann einfach den Namen nennen, wie immer ich mich gerade fühle, aber ich habe mich nur gefragt, ob ich etwas verpasst habe.

Hinweis: Ich möchte mein Paket für andere Entwickler freigeben, damit ich nicht nur etwas tun wollte, das auf meinem System arbeitete, sondern etwas mehr Standard wenn möglich.

Ich habe das Android-Tag hinzugefügt, weil die Java-Pakete, die ich schreiben werde, in einer Android-Anwendung verwendet werden, war nicht sicher, ob es verschiedene Meinungen von Android-Entwicklern gab.

Antwort

34

Wenn Sie eine Menge Sachen verteilen, würde ich wirklich vorschlagen, einen Domain-Namen zu bekommen. Eine andere Alternative wäre jedoch, Ihre E-Mail zu verwenden: z.B. [email protected] würde com.gmail.bob werden. Dies ist weniger üblich als die Verwendung von Domainnamen, wird aber immer noch von einigen gemacht und stellt immer noch die Eindeutigkeit sicher.

+4

nett! Ich mag das. – gtgaxiola

+0

+1 Das ist eigentlich eine wirklich gute Idee, ich dachte nicht, meinen E-Mail-Account zu benutzen. Ich plane nur 2 Pakete wirklich zu verteilen, nicht viel ... Also vielleicht werde ich mitgehen. – Mike

+0

+1 Einen Domain-Namen zu erhalten ist eine gute Idee, wenn Sie Ihre Sachen verteilen möchten. – Brian

1

In einer professionellen Umgebung ist die Konvention, umgekehrte Domäne zu verwenden. In einer Umgebung, die mehr mit sich selbst verbunden ist, können Sie org.projectname.packagename.* verwenden.

Es ist eine Konvention, keine feste Regel. Sie können den gewünschten Domänennamenstil verwenden.

23

Eine Konvention besteht darin, den Domain-Namen des Hosting-Providers zu verwenden, z.B.

com.github.myrepositoryname 
net.sf.sourceforge.myproject 
com.googlecode.myproject 

Vorteile:

Nachteile zu erfüllen:

  • wenn Sie sich entscheiden, den Anbieter zu wechseln, du hast entweder Paketstrukturen, die out-of-date sind, oder Sie einführen rückwärts inkompatible Änderungen der Quelle in Einklang mit Ihrem neuen Provider zu halten
+1

+1 es ist ein guter Punkt, ich würde es als eine Sicherung für die Verwendung meiner E-Mail wegen des Nachteils verwenden, aber es ist ein anderer guter Weg, dies zu tun. Vielen Dank! – Mike

+0

@Mike ändern Sie einfach nicht Ihre E-Mail-Adresse ;-) – Grundlefleck

1

Wenn Sie der einzige Coder sind, können Sie einfach Ihren Namen verwenden. Mein Name ist Jannis Froese, so würde ich

jannisfroese.projectname.stuff

verwenden oder wenn Sie wollen mit 'gültig' Domain-Namen

localhost.jannisfroese bleiben. projectname.stuff

(localhost ist eine reservierte Top Level Domain)

Natürlich funktioniert das nur, wenn Ihr Name ausreichend eindeutig ist, so dass eine Kollision unwahrscheinlich genug ist

Verwandte Themen