Comment séparer les mots dans les noms de paquet? Lesquels des énoncés suivants sont corrects?
com.stackoverflow.my_package
(souligner)com.stackoverflow.my-package
(tirets)com.stackoverflow.MyPackage
(Affaire de chameau)
Quelle est la norme générale?
com.stackoverflow.my.package
Réponses:
Voici ce que prescrit le document officiel sur les conventions de dénomination:
Références
Notez qu'en particulier, tout ce qui suit le préfixe de domaine de premier niveau n'est pas spécifié par le document ci-dessus. Le JLS est également d'accord avec cela en donnant les exemples suivants:
L'extrait suivant est également pertinent:
Références
la source
Les trois ne sont pas les conventions.
Utilisez
com.stackoverflow.mypackage
.Les noms de package ne respectent pas la casse de chameau ou les traits de soulignement ou les conventions de dénomination des packages de tirets .
En outre, Google Java Style Guide spécifie exactement la même (c'est-à-dire
com.stackoverflow.mypackage
) convention:la source
Tout le monde peut utiliser le trait de soulignement _ (c'est correct)
Personne ne devrait utiliser hypen - (sa mauvaise pratique)
Personne ne devrait utiliser de majuscules dans les noms de paquet (mauvaise pratique)
REMARQUE: Ici, "Bad Practice" est destiné à techniquement, vous êtes autorisé à utiliser cela, mais conventionnellement, ce n'est pas de bonnes manières d'écrire.
Source: nommer un package (docs.oracle)
la source
Les conventions de dénomination officielles ne sont pas si strictes, elles n'interdisent même pas la notation de cas de chameau à l'exception du préfixe (
com
dans votre exemple).Mais personnellement, j'éviterais les majuscules
et les césures, même les chiffres. Je choisirais aussicom.stackoverflow.mypackage
comme Bragboy l'a suggéré.(les césures «-» ne sont pas légales dans les noms de package)
ÉDITER
Intéressant - la spécification du langage a aussi quelque chose à dire sur les conventions de dénomination.
Au chapitre 7.7 Noms de packages uniques, nous voyons des exemples avec des noms de packages composés de lettres majuscules (donc la notation CamelCase serait OK) et ils suggèrent de remplacer l'hyphonation par un trait de soulignement ("mary-lou" -> "mary_lou") et le préfixe java mots clés avec un trait de soulignement ("com.example.enum" -> "com.example._enum")
Vous trouverez d'autres exemples de majuscules dans les noms de packages au chapitre 6.8.1 Noms de packages .
la source
Les traits de soulignement sont laids dans les noms de paquets. Pour ce qui vaut, dans le cas de noms composés de trois mots ou plus, j'utilise des initiales (par exemple:)
com.company.app.ingresoegresofijo (ingreso/egreso fijo) -> com.company.app.iefijo
, puis je documente le but du package danspackage-info.java
.la source
La concaténation des mots dans le nom du package est quelque chose que la plupart des développeurs ne font pas.
Vous pouvez utiliser quelque chose comme.
com.stackoverflow.mypackage
Reportez-vous à la déclaration de nom JLS
la source