Sto per creare una classe utente per il mio progetto. Qualche opinione sul fatto che sia una cattiva pratica creare una classe così comunemente chiamata? Potrei completarlo con un prefisso specifico per il mio progetto.Le "best practice" di denominazione della classe "Utente" Java?
risposta
Questo è ciò che sono packages.
Bene si potrebbe finire per importare due pacchetti con classe "Utente". Ciò probabilmente causerebbe alcuni mal di testa. – rkg
@Ravi, ma se questo dovesse essere un problema, allora potresti fare riferimento alle classi con i loro nomi completi. –
@ Michael: È vero, ma sento che danneggia la leggibilità del codice. – rkg
L'utilizzo di nomi comuni non è una cattiva pratica, finché ea meno che non si descriva il nome come tale per la funzionalità della classe. ricorda di creare pacchetti adeguati che possano definire la tua classe in modo più specifico.
Ti suggerisco di anteporre definitivamente un termine specifico dell'applicazione alla classe utente. "Utente" è troppo comune e vago. Si potrebbe facilmente finire usando API che ha la classe "User" o Interface. Sebbene gli ultimi IDE rendano relativamente facile il refactoring del codice, sarebbe più pulito e semplice se si dispone di una classe "User" specifica per l'app.
Sono d'accordo con te. Comincia a diventare un casino quando hai più classi con lo stesso nome. –
È necessario utilizzare Java package
s per evitare conflitti di nome. Non c'è niente di sbagliato nell'usare un nome comune, ma assicurati di inserirlo nel suo pacchetto. Ad esempio, si potrebbe avere la seguente struttura:
com/
yourwebsite/
yourproject/
userdata/
User.java
È quindi iniziare il file "User.java" con:
package com.yourwebsite.yourproject.userdata;
Quando si importano, si potrebbe usare:
import com.yourwebsite.yourproject.userdata.User;
Vorrei ancora suggerire che le persone non nominino le loro classi "String" o "List" o "Collection" o "Exception" o "Connection" o "Session". Sto bene con "Utente", se non altro perché non è comunemente usato altrove (nel mio attuale spazio di lavoro, che ha molte librerie, ce n'è solo uno in "com.sun.tools.internals ..." e uno in "org .hsqldb ", nessuno dei quali è probabile che tu lo usi). – Thilo
@Thilo, sì, certamente non userei i nomi che sono già in uso in nessuno dei pacchetti "java. *" O "javax. *", Ma al momento non ci sono classi User nell'API Java. –
Cerco sempre di usare nomi comuni come Utente per chiarezza. Basta essere sicuri che i nomi siano tratti dal dominio del problema e dal vocabolario del progetto esistente. State attenti alle ambiguità e, se ne sorgete, cambiate il nome della classe. Gli IDE moderni con supporto per il refactoring automatico lo rendono facile.
Sì. Avere il nome corretto della classe nel pacchetto appropriato sarà la cosa giusta. Gli IDE come IntelliJ sono un ottimo supporto per la ricerca e l'importazione di nomi di classi - può anche essere automatico. – Jayan
Questo nome è improbabile che venga utilizzato da qualsiasi API pubblica, quindi è ok per un'app usarlo.
- 1. scrivere librerie python: struttura, denominazione e importazione best practice
- 2. Guida all'interfaccia utente di best practice?
- 3. Best Practice per la classe di utilità?
- 4. Linee guida per la denominazione di WCF/Best practice
- 5. Serializzazione Java JSON - best practice
- 6. best practice dbunit per le prestazioni
- 7. Controllo delle asserzioni Java - Best practice
- 8. Best practice nella gestione delle eccezioni java
- 9. Selenio, best practice Nunit?
- 10. Best practice per la gestione della ricerca
- 11. ActionListener best practice
- 12. Best practice Sitecore
- 13. Best practice per denominare sottoclassi
- 14. Best practice per layout interfaccia utente programmatico iOS/monotouch
- 15. C#: best practice Debug.Print
- 16. Best practice: la migliore convenzione di denominazione dei database per JPA?
- 17. Dividere le tuple in Python - best practice?
- 18. Struttura del progetto Web Java Best practice
- 19. Ricordami Cookie best practice?
- 20. Best practice per le dipendenze della libreria statica
- 21. Best practice LDAP
- 22. Gestione della migrazione dei binari - best practice?
- 23. Class best practice
- 24. Marionette controller Best Practice
- 25. Best practice di RestAngular
- 26. Best practice di confronto
- 27. Best Practice: variabili statiche non finali Java
- 28. Best practice Maven
- 29. Best practice per le eccezioni Python?
- 30. IBOutlet best practice
è che il progetto è stato concepito per essere utilizzato come libreria da altri progetti (e User sarà una classe pubblica)? – Thilo
No. Progetto web proprietario. In realtà mi sento abbastanza a mio agio nel mantenere l'utente come utente, ma abbiamo anche un altro concetto di dominio di una sessione. Non ce l'ho ancora, ma nominare quello mi sta già facendo venire il bruciore di stomaco. – Steve