Ya estoy familiarizado con la convención de nomenclatura de paquetes estándar de Java de usar un nombre de dominio para crear un nombre de paquete único (es decir, paquete com.stackoverflow.widgets
). Sin embargo, nunca he visto ninguna recomendación sobre cómo elegir nombres de paquetes para proyectos personales. Supongo que es porque esto es realmente una cuestión de gusto personal.
Entonces, ¿cómo elige los nombres de los paquetes para proyectos personales que nunca llegarán a la producción (es posible que esté experimentando con un nuevo marco en su tiempo libre). Suponiendo que no tiene un sitio web personal cuyo dominio puede usar para crear la estructura de su paquete, ¿qué hace (o haría)? ¿Tiene un sistema lógico para generar nuevos nombres de paquetes para proyectos de pasatiempo, o simplemente usa nombres de paquetes desechables simples mypackage
?
Como tengo curiosidad por ver qué piensan las diferentes personas sobre esto, he hecho de este un wiki comunitario.
Personalmente, nunca lo he pensado mucho, pero quería jugar con Wicket esta noche y se me ocurrió que no tengo una idea clara de cómo quiero organizar mis proyectos de pasatiempo. Una convención de nomenclatura de paquetes distinta y separada para proyectos de pasatiempos (en mi opinión, al menos) serviría como una buena manera de mantener el código personal y relacionado con el trabajo claramente separado el uno del otro.
Estaba pensando en una simple convención de nomenclatura jerárquica, para mantener la fuente de mis proyectos personales en una sola carpeta raíz:
- Utilizar
myprojects
como la carpeta raíz - Agregar el nombre del proyecto
- Agregue cualquier nombre de subpaquete adicional
Entonces, mi proyecto Wicket estaría en el paquete myprojects.learningwicket
y las pruebas unitarias estarían en el paquete myprojects.learningwicket.tests
(por ejemplo).
onion.duskgytldkxiuqc6.packagename
). Mientras la clave privada permanezca secreta, usted tiene el control del nombre de dominio. Por lo tanto, es gratis registrarse (generar) y es permanente (a diferencia de los dominios convencionales). Se ajusta a la letra de la convención Java, y te identifica de manera única.