web-dev-qa-db-fra.com

Pourquoi le nom du package Java doit-il être en minuscule?

En fait, c’est une question complètement théorique. Mais il est intéressant de savoir pourquoi la spécification Java n'autorise pas les lettres de caractères majuscules dans les packages et provoque l'écriture suivante:

com.mycompany.projname.core.remotefilesystemsynchronization.*

au lieu de

com.myCompanyName.projName.core.remoteFileSystemSynchronization.*
45
Oleksii Kolotylenko

Directement à partir de Oracle Docs

Les noms de packages sont écrits en minuscules pour éviter tout conflit avec le noms de classes ou d'interfaces.

81
gtgaxiola

Mais il est intéressant de savoir pourquoi la spécification Java n'autorise pas les lettres de caractères majuscules dans les packages et provoque l'écriture suivante:

La spécification permet que tout se passe bien. C'est seulement un convention d'utiliser tout en minuscule.

Comme gtgaxiola le dit, cela évite les conflits avec les noms de types ... Dans les conventions de nommage .NET, ceci se produit, ce qui conduit à indiquer que vous ne nommez pas une classe de la même manière que son espace de noms . Bien entendu, l’utilisation de paquets camelCase éviterait totalement la collision.

Je suppose que la réalité est que cela n’a pas été pris en compte lors de la création des conventions de dénomination des paquets. Personnellement, je trouve rarement que c'est un problème - si je finis par voir un paquet avec un élément de "remotefilesystemsynchronization", alors la capitalisation n'est pas la chose principale qui m'inquiète :)

29
Jon Skeet

C'est juste une autre convention - On peut se demander pourquoi le nom de classe doit toujours commencer par Capital ou le nom de méthode commence par un petit cas, puis par un camel. Java not vous oblige à utiliser cette méthode. C'est juste qu'un ensemble de règles soulignées aide une énorme communauté en tant que développeurs Java à écrire du code facilement compréhensible pour la majorité des personnes qui suivent les conventions.

Aucune raison précise ne peut être attribuée en tant que telle. C'est juste ce que l'on ressent (bien} _ en écrivant la convention. Mais oui, des directives seraient certainement là avant d’écrire des conventions. Je ne veux pas dire que c'est un travail fantaisiste. Les lignes directrices pourraient être que, rien qu'en voyant les éléments, nous devrions être en mesure de savoir si sa classe, sa méthode ou son package et tout ce qui compte est - dans les conventions qui ont été réalisées.

0
nanosoft