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?
Antwort
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
Ja und in diesem Beispiel wird HumanPlayer als blah.player.HumanPlayer referenziert – LudoMC
Diese ** sind immer ** sollte besser sein ** sollte immer ** sein, da diese Fallkonvention wirklich nur eine Konvention ist (eine nützliche aber). –
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).
Java hat weit verbreitet verwendet .
- 1. Erzwingen Java 8 Konventionen Check
- 2. Konventionen für die Benennung von Jar-Dateien
- 3. Entwurfsmuster und Konventionen für die Objektkonvertierung
- 4. Konventionen in Java Dokumentation verwendet
- 5. Mapping zwischen Oracle-Paketen und Java-Paketen
- 6. Folgen Scala-Bibliotheken der gleichen umgekehrten Domänenkonvention für die Benennung von Paketen wie Java?
- 7. Konventionen für 'import ... as'
- 8. Java-Code zum Umbenennen von Java-Paketen
- 9. Konventionen für Namen
- 10. Konventionen für unveränderliche Objekte
- 11. Übergeben von Querystring-Parametern ohne Verwendung von OData-Konventionen?
- 12. Konventionen für das Importieren von Python-Hauptprogrammen
- 13. Welche Konventionen gelten für die Anordnung von Parametern in Python?
- 14. ReSharper Konventionen für Namen von Ereignishandlern
- 15. For-Schleife Konventionen Zustand
- 16. Fluent NHibernate Konventionen für CompositeIds
- 17. Java - RTSP Schnappschuss von Stream-Paketen speichern
- 18. Gibt es eine Java-Methode, die Konventionen festlegt?
- 19. Was sind die Ruby-Konventionen für $ LOAD_PATH für Nicht-Edelsteine?
- 20. Add-Koordinaten für die Verwendung als Karte in Leaflet, glänzend und Shinydashboard Paketen in R
- 21. Lua Semikolon Konventionen
- 22. Erstellen von Dateien für die spätere Verwendung in Java
- 23. Empfohlene Bibliotheken/HowTos für die Verwendung von WMI mit Java?
- 24. Best Practice für die Verwendung von Java-Systemeigenschaften
- 25. Tutorial für die Erstellung von Paketen im Linux-Kernel
- 26. Best Practice für die Erstellung von Nuget-Paketen
- 27. Jira Konventionen und Best Practices
- 28. Installieren von node.js-Paketen für unterschiedliche Architekturen
- 29. Verwendung von toString() für Komponententests in Java
- 30. Installieren von R-Paketen für alle Benutzer
http://download.oracle.com/javase/tutorial/java/package/namingpkgs.html –
Wenn Sie neu in Java sind, empfehle ich dringend, das Buch "Effective Java" (jetzt in seiner zweiten Ausgabe) zu lesen Bloch. – Raedwald