code - ¿Qué convención de nomenclatura de paquetes usas para proyectos personales/de pasatiempos en Java?
naming java (12)
Creo que lo has funcionado. La tentación de evitar aquí es no molestarse con un nombre de paquete en absoluto. Es fácil guardar unas pocas teclas porque "solo estoy escribiendo un código de prueba". Pero luego el código se vuelve bueno, útil y grande, y luego se da cuenta de que tiene un sólido comienzo para lo que puede ser una biblioteca o aplicación de larga duración. Puede que no sea una biblioteca o una aplicación que alguna vez abandone su red doméstica, pero el punto es que no ha pensado en el futuro. Ese es el fantasma de la informática en Dinamarca: siempre piensa en el futuro, aunque sea un poco.
La convención de nomenclatura que uso para mi código de hobby es muy parecida a la tuya. Tengo un directorio de alto nivel llamado "futura" (razones largas y aburridas de por qué se originó ese nombre) del que todo mi código se cuelga. Intento y organizo mi código en bibliotecas de paquetes, incluso si podría ser una clase o un paquete que nunca uso para otro proyecto. Coloco todas las aplicaciones (es decir, cualquier cosa que tenga un vacío principal (String [] args) en la carpeta futura.app. *. También trato de imitar los nombres de los paquetes de la biblioteca Java estándar para mi propio código, aunque en un par de casos rompí la convención debido a mis propios gustos (es decir, futura.inet para Internet, no meramente socket, code y futura.collections para non -util cosas.) Parafraseando a David Mamet: siempre ser genérico. ¡Siempre sé genérico!
Por el cuidado que solía poner en la pregunta, sospecho que también está de acuerdo con mi último punto: no tiene que tratar el pirateo de aficionados como un proyecto de nivel empresarial, pero si lleva algo de esa disciplina al juego de casa, el hobby es aún más gratificante.
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 porque esto es porque esto es realmente una cuestión de gusto personal.
Entonces, ¿cómo elegir nombres de 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 su estructura de paquete, ¿qué hace (o haría)? ¿Tiene un sistema lógico para generar nuevos nombres de paquetes para proyectos de pasatiempos, o simplemente usa nombres de paquetes mypackage
como mypackage
?
Como solo tengo curiosidad por ver cuáles son los pensamientos de las personas sobre esto, he hecho de esta una wiki de la comunidad.
Personalmente, nunca lo pensé mucho, pero esta noche quería jugar con Wicket y se me ocurrió que no tenía una idea clara de cómo quería organizar mis proyectos de hobbies. Una convención de nomenclatura de paquetes separada y distinta para proyectos de pasatiempos (en mi opinión, al menos) sería una buena manera de mantener el código personal y relacionado con el trabajo claramente separados unos de otros.
Estaba pensando en una simple convención de nomenclatura jerárquica, para mantener la fuente de mis proyectos personales en una única carpeta raíz:
- Use
myprojects
como la carpeta raíz - Agregar el nombre del proyecto
- Agregue cualquier nombre de subpaquete adicional
Por lo tanto, mi proyecto Wicket estaría en el paquete myprojects.learningwicket
y las pruebas unitarias estarían en el paquete myprojects.learningwicket.tests
(por ejemplo).
Guardo la mayoría de mis proyectos de hobby en Google Code, así que solo uso el sitio del proyecto como nombre del paquete: com.googlecode.donkirkby.someproject
.
Mi nombre: prj.project_name
.
Pensé en hacer la misma pregunta. Hasta ahora he usado el prefijo com.tehvan, aunque en realidad no tengo una compañía.
Si solo está haciendo proyectos personales donde nadie más usará el código, entonces puede inventar el nombre de un paquete que le guste. No invente algo que comience con com.
o net.
u otro dominio de nivel superior, porque eso implicaría que usted es dueño del nombre de dominio (es decir, usar com.john
como nombre de su paquete solo porque su nombre es John no es una buena idea).
Si le va a dar el código a alguien más, debe usar un nombre de paquete globalmente único, que según las convenciones de Java significa que debe registrarse y usar un nombre de dominio.
Solo uso mi nombre: surname.initials.xxx, como una buena forma de entender entre brevedad y evitar colisiones. Pensé que daría un espacio de nombres libre de colisiones razonable si alguna vez decidiera publicar el código públicamente. También tengo un pequeño programa que he escrito que puede volver a empaquetar árboles de directorios completos, así que pensé que si alguna vez necesitaba volver a empacar para publicar, sería bastante fácil ... por lo tanto, no perdí mucho tiempo durmiéndolo.
Después de surname.initials.xxx, utilizo cualquier aplicación para paquetes de aplicaciones, lib para paquetes de bibliotecas y tst para cosas con las que estoy experimentando.
Solo uso mis iniciales: fg.nameofproject.etc
Reduce la escritura. Puede ser prefijado en cualquier momento con sf.net o com. u org. o com.google ..
Como el proyecto es personal, trátelo como si fuera una camisa de regalo personalizada recién prensada, se sentirá bien.
Uso mi URL OpenID y luego añado el nombre de mi proyecto. por ejemplo, com.myopenid.cd1.twitter
es el paquete raíz de un cliente de Twitter que he estado desarrollando.
mi nombre es anjan
por lo general, uso com.anjan
Tengo una empresa de fantasía propia, a veces la uso
la tradición con sourceforge (como hibernate y otros paquetes mostrados) es net.sf. *
entonces, dependiendo de tu estado de ánimo, puedes ir con eso.
que piensas sobre lastname.firstname.project ??? como luz.marlon.project?
<sarcasm>
Bah. Cualquier programador que se precie tendrá su propio nombre de dominio. Esta es claramente una pregunta capciosa. ¡Todos tienen su propio nombre de dominio personal! </sarcasm>
:-)
Ok, con toda seriedad, comprar un nombre de dominio personalizado es probablemente la opción más fácil. Por alrededor de $ 10 al año, puede encontrar proveedores de buena reputación para alojar el dominio y reenviar correos electrónicos.
pmurray_at_bigpond_dot_com.project.package