2010-12-30 9 views
3

Ich komme aus einem PHP-Hintergrund, und aufgrund des Fehlens von Namespaces in der Vergangenheit habe ich Zend Framework-Stil "Pakete" verwendet. Wenn ich zum Beispiel eine abstrakte Klasse Player und Kinder Player_Human, Player_DumbComputer, Player_Minimax usw. habe, würde ich Player in das Hauptverzeichnis stellen und die untergeordneten Elemente in ein Verzeichnis/Player/stellen. Es hat versucht, etwas Ähnliches in Java zu tun, aber ich habe einen Namenskonflikt - ich habe sowohl ein Paket blah.Player und eine Klasse blah.Player. Wie vermeide ich das? Was ist die übliche Praxis diesbezüglich?Java: Konventionen für die Verwendung von Paketen?

+2

http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html –

+0

Wenn Sie neu in Java sind, empfehle ich dringend, das Buch "Effective Java" (jetzt in seiner zweiten Ausgabe) zu lesen Bloch. – Raedwald

Antwort

4

Java-Paketnamen sind immer in Kleinbuchstaben, während die Klassennamen immer mit einem Großbuchstaben beginnen und Kamelnamen sind (keine Unterstriche). So sollte Ihre Struktur sein:

- blah 
|- Player.java 
|- player 
    |- HumanPlayer.java 
    |- DumbComputerPlayer.java 
    |- MinimaxPlayer.java 
+2

Ja und in diesem Beispiel wird HumanPlayer als blah.player.HumanPlayer referenziert – LudoMC

+4

Diese ** sind immer ** sollte besser sein ** sollte immer ** sein, da diese Fallkonvention wirklich nur eine Konvention ist (eine nützliche aber). –

6

Von Code Conventions for the JavaTM Programming Language:

Paketnamenskonventionen:

Das Präfix eines einzigartigen Paketnamen immer in all-Klein ASCII-Buchstaben geschrieben und sollte einer der Top-Level-Domainnamen sein, z. Zt. com, edu, gov, mil, net, org oder einer der englischen zweistelligen Codes, die Länder gemäß ISO-Norm 3166, 1981, angeben.

Nachfolgende Komponenten des Paketnamens hängen von den internen Namenskonventionen einer Organisation ab. Solche Konventionen können angeben, dass bestimmte Verzeichnisnamenkomponenten Abteilungs-, Abteilungs-, Projekt-, Maschinen- oder Anmeldenamen sind.

Klasse Namenskonventionen:

Klassennamen Substantive sein sollten mit dem ersten Buchstaben jeden internen Wortes in gemischtem Fall aktiviert. Versuchen Sie, Ihre Klassennamen einfach und beschreibend zu halten. Verwenden Sie ganze Wörter - Vermeiden Sie Akronyme und Abkürzungen (es sei denn, die Abkürzung ist weit verbreiteter als die lange Form, z. B. URL oder HTML).

0

Java hat weit verbreitet verwendet .

Verwandte Themen