Ich bin dabei, eine Benutzerklasse für mein Projekt zu erstellen. Gibt es irgendwelche Meinungen darüber, ob es eine schlechte Praxis ist, eine solche allgemein bekannte Klasse zu schaffen? Ich könnte es mit einem spezifischen Präfix für mein Projekt ergänzen.Java "Benutzer" Klassenbenennung Best Practice?
Antwort
Dies ist, was packages sind für.
Nun könnten Sie am Ende zwei Pakete mit der Klasse "Benutzer" importieren. Das würde wahrscheinlich Kopfschmerzen bereiten. – rkg
@Ravi, aber wenn das ein Problem sein sollte, dann könnten Sie auf die Klassen mit ihren voll qualifizierten Namen verweisen. –
@Michael: Das stimmt, aber ich fühle, dass es die Lesbarkeit des Codes verletzt. – rkg
Die Verwendung allgemeiner Namen ist keine schlechte Übung, solange und solange Sie den Namen nicht als den für die Funktionalität der Klasse bezeichnen. Denken Sie daran, richtige Pakete zu erstellen, die Ihre Klasse genauer definieren können.
Ich würde vorschlagen, dass Sie Ihrer Benutzerklasse definitiv einen anwendungsspezifischen Begriff voranstellen. "User" ist viel zu häufig und vage. Es kann leicht passieren, dass Sie die API verwenden, die die Klasse "User" oder die Schnittstelle "User" besitzt. Obwohl die neuesten IDEs es relativ einfach machen, Ihren Code umzuformen, wäre es sauberer und einfacher, wenn Sie eine anwendungsspezifische "Benutzer" -Klasse haben.
Ich stimme dir zu. Es fängt an, ein Durcheinander zu werden, wenn Sie mehrere Klassen mit demselben Namen haben. –
Sie sollten Java package
s verwenden, um Namenskonflikte zu vermeiden. Es ist nichts falsch daran, einen gebräuchlichen Namen zu verwenden, stellen Sie sicher, dass Sie ihn in ein eigenes Paket einfügen. Zum Beispiel könnten Sie die folgende Struktur haben:
com/
yourwebsite/
yourproject/
userdata/
User.java
Sie dann die Datei "User.java" beginnen mit:
package com.yourwebsite.yourproject.userdata;
Wenn Sie es zu importieren, verwenden Sie:
import com.yourwebsite.yourproject.userdata.User;
Ich würde immer noch vorschlagen, dass Leute ihre Klassen "String" oder "Liste" oder "Sammlung" oder "Ausnahme" oder "Verbindung" oder "Sitzung" nicht nennen. Mir geht es gut mit "Benutzer", nur weil es sonst nirgends verwendet wird (in meinem aktuellen Arbeitsbereich, der viele Bibliotheken hat, gibt es nur einen in "com.sun.tools.internals ..." und einen in "org .hsqldb ", von denen Sie wahrscheinlich keine verwenden werden. – Thilo
@Thilo, ja, ich würde sicherlich keine Namen verwenden, die bereits in einem der Pakete "java. *" Oder "javax. *" Verwendet werden, aber es gibt keine Benutzerklasse in der Java-API. –
Ich versuche immer, allgemeine Namen wie Benutzer für Klarheit zu verwenden. Stellen Sie sicher, dass die Namen aus der Problemdomäne und dem vorhandenen Projektvokabular stammen. Achten Sie auf Zweideutigkeiten und ändern Sie gegebenenfalls den Klassennamen. Moderne IDEs mit automatisierter Refactoring-Unterstützung machen das einfach.
Ja. Der korrekte Klassenname in einem geeigneten Paket ist das Richtige. IDEs wie IntelliJ unterstützen sehr gut beim Suchen und Importieren von Klassennamen - es kann sogar automatisch sein. – Jayan
Dieser Name wird von keiner öffentlichen API verwendet. Daher ist es in Ordnung, wenn eine App sie verwendet.
- 1. Java Enum best practice
- 2. Java-Schnittstelle Best Practice
- 3. Java String Vergleich best practice
- 4. Best Practice für Java IPC
- 5. Best Practice: Lizenzerzwingung für Java Desktop-Anwendung
- 6. Spring Webflow Best Practice
- 7. Best Practice zum Nachschlagen Java Enum
- 8. Best-Practice-XML-Request-Builder in Java
- 9. Best Practice: Java statische nicht finale Variablen
- 10. Java 2D Game Key Eingabe (Best Practice?)
- 11. Best Practice Guide: Schaukel
- 12. Android-App entwerfen - Best Practice?
- 13. Sql Benennung Best Practice
- 14. Asp.Net Paginierung best practice
- 15. Best Practice response.getOutputStream
- 16. Suchergebnis Paginierung, Best Practice
- 17. Rails Validierung best practice
- 18. Best Practice für Bilder
- 19. UIPickerview Best Practice?
- 20. Best Practice mit JFrame-Konstruktoren?
- 21. Best Practice von SingleOrDefault()
- 22. BLL-Fehler Best Practice
- 23. IUnitOfWork Anleitung - Best Practice
- 24. Best Practice verschiedene Listen
- 25. wenn Bedingung best practice
- 26. MVP-Entwurfsmuster best practice
- 27. C# Subclass Best Practice
- 28. Repository Pattern Best Practice
- 29. Best Practice-Benutzerführung?
- 30. for loop best practice
soll dieses Projekt als Bibliothek von anderen Projekten verwendet werden (und Benutzer wird eine öffentliche Klasse sein)? – Thilo
Nein Proprietäres Webprojekt. Ich bin eigentlich ziemlich zufrieden damit, Benutzer als Benutzer zu behalten, aber wir haben auch ein anderes Domänenkonzept einer Sitzung. Ich bin noch nicht dazu gekommen, aber die Namensgebung gibt mir schon Sodbrennen. – Steve