Ho già familiarità con la convenzione standard di denominazione dei pacchetti Java sull'utilizzo di un nome di dominio per creare un nome di pacchetto univoco (ovvero pacchetto com.stackoverflow.widgets
). Tuttavia, non ho mai visto alcun consiglio su come scegliere i nomi dei pacchetti per i progetti personali. Presumo perché questo è perché è davvero una questione di gusti personali.
Quindi, come scegliere i nomi dei pacchetti per progetti personali che non saranno mai realizzati in produzione (potresti sperimentare un nuovo framework nel tuo tempo libero). Supponendo che non si disponga di un sito Web personale il cui dominio è possibile utilizzare per creare la struttura del pacchetto, cosa si fa (o si farebbe)? Hai un sistema logico in atto per generare nuovi nomi di pacchetti per progetti di hobby o usi semplicemente nomi di pacchetti usa e getta come mypackage
?
Dal momento che sono solo curioso di vedere quali sono i pensieri delle diverse persone su questo, ho fatto di questo un wiki della comunità.
Personalmente, non ci ho mai pensato molto, ma stasera volevo giocare con Wicket e mi è venuto in mente che non ho un'idea chiara di come voglio organizzare i miei progetti di hobby. Una convenzione di denominazione dei pacchetti distinta e distinta per i progetti di hobby (almeno secondo me) sarebbe un buon modo per mantenere il codice personale e relativo al lavoro chiaramente separato l'uno dall'altro.
Stavo pensando a una semplice convenzione di denominazione gerarchica, per mantenere la fonte dei miei progetti personali in un'unica cartella radice:
- Utilizzare
myprojects
come cartella principale - Aggiungi il nome del progetto
- Aggiungi eventuali nomi di pacchetti secondari aggiuntivi
Quindi, il mio progetto Wicket sarebbe nel pacchetto myprojects.learningwicket
e test unitari sarebbero nel pacchetto myprojects.learningwicket.tests
(per esempio).
onion.duskgytldkxiuqc6.packagename
). Finché la chiave privata rimane segreta, hai il controllo del nome di dominio. Quindi è gratuito registrarsi (generare) ed è permanente (a differenza dei domini convenzionali). È conforme alla lettera della convenzione Java e ti identifica in modo univoco.