Por lo tanto, la mayoría de los recursos de Java cuando se habla de paquetes mencionan una configuración de com.yourcompany.project
. Sin embargo, no trabajo para una empresa, y no tengo un sitio web. ¿Hay alguna convención de nombres que sea común? Una dirección de correo electrónico, tal vez?¿Cómo debo nombrar paquetes si no tengo un dominio asociado a mí?
Respuesta
Utilice un dominio de nivel superior como 'bernard' u otra cosa única. La parte importante es que el dominio es único para evitar enfrentamientos, y no que comience con un dominio real de nivel superior de Internet como org o com. P.ej.
import java.util.*;
import bernard.myProject.*;
import org.apache.commons.lang.*;
Un buen consejo sobre este tema se encuentra en la web:. "Inicio sus nombres de paquetes con su dirección de correo electrónico, invertido [...] O, alojar su código en un sitio que le dará una rebanada de su dominio ".
Mi problema con ese consejo es que está tomando un subdominio de un dominio que en realidad no posee ni tiene control. Si hubiera un choque (por improbable que sea), estarías totalmente equivocado. –
¿Por qué no registrar un dominio?
Son bastante baratos y al hacerlo garantizarás que no choques con nadie (o al menos te da la satisfacción de que si ocurre un choque, es la otra persona la que tendrá que reescribir su código) .
Registre su nombre o intente recuperar un nombre que pueda utilizar como base para una empresa en una fecha posterior.
bernard.surname.net
madeupname.net
Esto le costará menos de 10 GBP por año.
Personalmente, prefiero el enfoque de nombre inventado, ya que es probable que se vea más profesional (a menos que elija algo realmente extraño).
Una ventaja adicional es que muchos dominios vendrán con capacidades de correo electrónico, brindándole una mejor dirección de correo electrónico que [email protected]
Para ser justos, * no * significa que la otra persona tendrá que cambiar los nombres de sus paquetes. No existe una regla para nombrar paquetes, los nombres de dominio invertidos son simplemente algo que la documentación de Java recomienda. –
Incluso si se limita a usar nombres de dominio, eso no es garantía de exclusividad. No hay nada que impida que otras personas usen dominios que no son de su propiedad, e incluso si todos acordaran unánimemente usar dominios que poseen, eso aún no sería suficiente: es posible que alguien haya tenido el dominio antes que usted y haya sacado un paquete, o alguien puede terminar siendo dueño del dominio después de ti y sacar un paquete. – Kevin
Un esquema simple que consta de conjuntos de 5 letras aleatorias (como 'mzcrs.pwkcy') probablemente sea único: según mis cálculos, necesitaría aproximadamente 5 millones de paquetes antes de que la probabilidad de colisión se acercara al 10% (50% serían 14 millones). Y, por supuesto, podría reducir las posibilidades aún más usando más letras. Sí, aún no está garantizado como único, pero tampoco usa nombres de dominio. – Kevin
Lo que puedes hacer también es registrar un dominio (en realidad un subdominio) a través de un servicio como DynDns (o uno de los equivalentes) y luego usar ese nombre de dominio. Usted será el único controlador y es gratuito y fácil de mantener. Tienen una opción de 88 dominios principales en este momento (octubre de 2008). dyndns dynamic dns service
Si su creación de un proyecto de código abierto, se puede registrarlo en Sourceforge y utilizar net.sourceforge.myproject. Esto es común con muchos proyectos de Java. Un ejemplo es PMD http://pmd.sourceforge.net/.
Por mi propio trabajo personal cuando no tengo un espacio de nombres, voy por algo tan simple como org.<myname>.*
He estado en un par de diferentes empresas que escriben clases java casa. A menudo son solo com.blah.blah.blah
sin importar si hay un nombre de dominio real detrás de él.
En mi humilde opinión, es mejor si no depende de ninguna información externa, como proveedor de alojamiento o empresa (podría ser lanzado a la comunidad de código abierto), ya que la refacturación a nivel de paquete no es muy deseable, especialmente en el caso de marcos y bibliotecas. Sugiero elegir el nombre de su proyecto con cuidado y sin ambigüedades, luego usar org.< nombre del proyecto> como el paquete raíz.
Tenga en cuenta que el asunto del "nombre de dominio inverso" es solo una convención: útil ya que definitivamente evita los enfrentamientos si todos lo respetan, pero no tiene que seguirlo.
Simplemente elija un nombre que pueda estar razonablemente seguro de que nadie más utilizará y que no esté registrado como marca registrada por nadie - porque esa es la única manera en que podría meterse en problemas legales.
Y eso significa que de hecho es una mala idea usar algún tipo de "subdominio" de un servicio gratuito que esté usando, como deviantart o un servicio de correo electrónico gratuito. Debido a que la mayoría (si no todos) de esos dominios son términos de marca registrada, y si sus proyectos alguna vez se distribuyen ampliamente, podría verse como una violación de la marca comercial. El hecho de que le permitan usar ese nombre como una dirección de correo electrónico (o lo que sea) no significa que pueda usarlo para nada más; de hecho, su EULA casi con certeza restringe el uso a exactamente ese único propósito.
Muchas personas tienen sus propios sitios web y nombres relativamente únicos (o nombres de inicio de sesión).
Si su nombre es Bernard Something, puede ser propietario de BernardSomething.com, haciendo com.bernardsomething.xxxx (o com.bsomething.xxx) un nombre de paquete legítimo en mi humilde opinión para el código personal.
Dicho esto, si el nombre de su proyecto es único, quizás desee darle un nombre al paquete después de eso.
Y por supuesto, obtenga el dominio después de su nombre si aún no lo posee.
- 1. cómo nombrar mi paquete de Android si no tengo un sitio
- 2. ¿Debo instalar Java SDK si tengo eclipse?
- 3. ¿Cómo debo nombrar un método que hace esto ...?
- 4. ¿Cómo debo nombrar mis clases de CSS?
- 5. ¿Debo nombrar "makefile" o "Makefile"?
- 6. ¿Las bibliotecas de Scala siguen la misma convención de dominio invertido para nombrar paquetes como Java?
- 7. ¿Cómo nombrar los paquetes de importación/exportación en Java?
- 8. ¿Cómo copio ** kwargs a mí mismo?
- 9. ¿Cómo debería nombrar un java.util.Map?
- 10. ¿Cómo nombrar un diccionario?
- 11. ¿Cómo debo dividir un módulo Python en paquetes PyPi?
- 12. Fragmento MiFragmento no asociado a la Actividad
- 13. ¿Cómo verifica si existe un nombre de dominio?
- 14. compruebe si un dominio está disponible o no usando PHP?
- 15. ¿A qué URL debo ir para crear mi dominio simpleDB?
- 16. cómo puedo detectar si tengo un iPhone 2G, 3G, 3GS
- 17. .gitignore no funciona para mí
- 18. PHP - Si el dominio
- 19. ¿Qué debo nombrar mis archivos con definiciones de clases genéricas?
- 20. jquery: ¿cómo sé si lo tengo?
- 21. Espacio de nombres de paquetes Java para proyectos sin dominio propio
- 22. ¿Cómo saber si un proceso está vinculado a un socket de dominio Unix?
- 23. @Async no funciona para mí
- 24. Cómo instalar desarrollo de Python 2.7 si tengo Python 2.7 en un directorio diferente
- 25. ¿Cómo encontrar si la computadora local está en un dominio?
- 26. ¿Cómo puedo obtener PHP para compilar un documento LaTeX si (www-data) no puede obtener acceso a los paquetes requeridos?
- 27. NotificationManager.cancel() no funciona para mí
- 28. Restringir ActionMailer a un dominio
- 29. ¿Cómo redirecciono el dominio a un subdominio usando htaccess?
- 30. Comprobando si se ha registrado un nombre de dominio
Estoy bastante seguro de que hay más de un Bernard: P – izb
¡SOY ÚNICO! Quiero decir, err, eso tiene sentido. Gracias Stu – Bernard
Si distribuye el código realmente, será desde "algún sitio web" (sourcrforge, google code, lo que sea), y ELLOS tendrán un nombre de dominio que podrá usar junto con el nombre de su proyecto. Idealmente, esa será una operación de refactorización simple en el IDE cuando se trata de eso. Hasta entonces, Bernard. –