¿Cómo se deben separar las palabras en los nombres de los paquetes? ¿Cuales de las siguientes son correctas?
com.stackoverflow.my_package
(guion bajo)com.stackoverflow.my-package
(guiones)com.stackoverflow.MyPackage
(El caso de Carmel)
¿Cuál es el estándar general?
java
naming-conventions
package
Jigar
fuente
fuente
com.stackoverflow.my.package
Respuestas:
Esto es lo que prescribe el documento oficial de convenciones de nomenclatura:
Referencias
Tenga en cuenta que, en particular, el documento anterior no especifica nada que siga al prefijo de dominio de nivel superior. El JLS también está de acuerdo con esto al dar los siguientes ejemplos:
El siguiente extracto también es relevante:
Referencias
fuente
Las tres no son las convenciones.
Uso
com.stackoverflow.mypackage
.Los nombres de los paquetes no siguen la carcasa de camello ni los guiones bajos ni los guiones de convenciones de nomenclatura de paquetes .
Además, la Guía de estilo de Java de Google especifica exactamente la misma (es decir
com.stackoverflow.mypackage
) convención:fuente
Cualquiera puede usar guión bajo _ (está bien)
Nadie debería usar hypen - (es una mala práctica)
Nadie debe usar letras mayúsculas dentro de los nombres de los paquetes (Mala práctica)
NOTA: Aquí "Mala práctica" está destinada a que técnicamente se le permita usar eso, pero convencionalmente no es de buena educación escribir.
Fuente: nombrar un paquete (docs.oracle)
fuente
Las convenciones de nomenclatura oficiales no son tan estrictas, ni siquiera 'prohíben' la notación de casos de camellos, excepto el prefijo (
com
en su ejemplo).Pero personalmente evitaría las letras mayúsculas
y las guiones, incluso los números. Elegiríacom.stackoverflow.mypackage
como Bragboy sugirió también.(las guiones '-' no son legales en los nombres de paquetes)
EDITAR
Interesante: la especificación del lenguaje también tiene algo que decir sobre las convenciones de nomenclatura.
En el Capítulo 7.7 Nombres únicos de paquetes vemos ejemplos con nombres de paquetes que consisten en letras mayúsculas (por lo que la notación CamelCase estaría bien) y sugieren reemplazar la hibonación por un guión bajo ("mary-lou" -> "mary_lou") y el prefijo java palabras clave con un guión bajo ("com.example.enum" -> "com.example._enum")
Se pueden encontrar algunos ejemplos más de letras mayúsculas en los nombres de paquetes en el capítulo 6.8.1 Nombres de paquetes .
fuente
Los guiones bajos se ven feos en los nombres de los paquetes. Para lo que vale, en el caso de nombres compuestos de tres o más palabras, uso las iniciales (por ejemplo:)
com.company.app.ingresoegresofijo (ingreso/egreso fijo) -> com.company.app.iefijo
y luego documento el propósito del paquetepackage-info.java
.fuente
La concatenación de palabras en el nombre del paquete es algo que la mayoría de los desarrolladores no hacen.
Puedes usar algo como.
com.stackoverflow.mypackage
Consulte la Declaración de nombres JLS
fuente