Nombres de paquetes

De ChuWiki

A la hora de poner las clases en paquetes y decidir los nombres de los mismos, ¿podemos poner cualquier nombre que queramos o debemos seguir algún tipo de convención?.

Si tenemos en cuenta que java es multiplataforma y, por tanto, es muy adecuado para compartir en web, deberíamos evitar que haya conflictos con los nombres de las clases y los paquetes entre las que yo hago y las que hace, por ejemplo, mi amigo Federico.

Puesto que el nombre completo de una clase va con su paquete delante y se permiten varios niveles de anidamiento en los paquetes, Sun recomienda lo siguiente para evitar conflictos entre clases generadas por distintas empresas.

El nombre del paquete debe empezar con el dominio de internet, pero al revés. Así, por ejemplo, los nombres de paquetes generados por el autor de este sitio debería ser todos com.chuidiang

package com.chuidiang;

Luego, otro nombre de paquete para indicar el nombre del proyecto o librería que estamos haciendo. Por ejemplo, todas las clases de una librería de gráficos hecha por el autor de este sitio podría tener como paquete

package com.chuidiang.graficos;

Finalmente, por debajo, ya se puede organizar las clases con los paquetes que se quieran. Por ejemplo

package com.chuidiang.graficos.visual;
package com.chuidiang.graficos.algoritmos;
etc, etc

También, por convención, los nombres de paquetes suelen ponerse en minúsculas.