La forma estándar de evitar conflictos de nombre de paquete en Java es utilizar la convención de dominio inverso com.[mycompany].[rest-of-the-package-name]
. Esto funciona brillantemente ... si uno posee el dominio [mycompany] .com.¿Cómo * realmente * asegurar que mis nombres de paquetes Java sean únicos?
Sin embargo, hay varios desarrolladores individuales (o estudiantes) que:
- No (o no pueden permitirse) poseer un dominio
- Aún evocar algunos nombres de paquetes esperanza de que serán único.
Esto solo presenta posibilidades para conflictos de paquetes.
Además, supongamos que soy el propietario de [mycompany] .com. ¿Qué impide que un desarrollador cree una biblioteca con el mismo prefijo de paquete que el mío y lo distribuya? AFAIK, no existe un enlace legal con respecto a los nombres de los paquetes ("DEBE tener el dominio que ha utilizado en su paquete Java"). Sin mencionar que esta acción por parte del desarrollador puede no ser intencional (¿cuántos de nosotros peinamos la web buscando un nombre de dominio inexistente antes de que nombremos nuestros paquetes?).
Aún más, incluso si tengo un nombre de dominio, puede o no ser adecuado para usar como nombre de paquete (mi nombre de dominio podría incluir guiones, o podría ser tan largo que aunque sea un nombre de paquete legal) , aún podría hacerlo poco práctico).
Así que mi pregunta es: ¿cómo puedo hacer que mi paquete de Java sea único?
Preocúpese menos por los nombres de los paquetes y más acerca de las buenas prácticas de software. ¡Siempre puedes cambiar el nombre de los paquetes! – Nick
Las direcciones de correo electrónico son únicas. – Jivings
@Jivings: sí, lo son, pero ¿cómo evitarías que otros usen tu dirección de correo electrónico en un nombre de paquete? – Vlad