Quel est le nom correct de la classe Java suivante : DVDPlayer
o DvdPlayer
?
Bien dit, bel effort !
Quel est le nom correct de la classe Java suivante : DVDPlayer
o DvdPlayer
?
Puisqu'il semble que la réponse soit qu'il n'y a pas de norme unique pour cela en Java, j'aimerais noter que les directives de conception de .NET Framework le spécifient.
Avant de me reprocher d'être hors sujet, n'oubliez pas que les directives de dénomination des classes de Java et de .NET Framework sont assez similaires, ce qui rend les directives de .NET utiles comme référence convaincante.
Les deux directives recommandent de n'utiliser les acronymes que lorsque ceux-ci sont largement connus et bien compris. DVD ou XML en sont d'excellents exemples, car si vous les reconnaîtrez immédiatement, il vous faudra un peu plus de temps pour reconnaître la version étendue.
Les lignes directrices du cadre .NET recommandent de ne pas utiliser d'abréviations (par opposition aux acronymes), sauf que deux abréviations courantes ID
y OK
peuvent être utilisés dans les identificateurs. Lors de l'utilisation d'une abréviation, la casse mixte Id
est toujours utilisé, sauf pour le premier mot d'un identifiant en camelCase (par opposition à un identifiant en PascalCase).
En Java, cette convention n'est respectée qu'une partie du temps. Jetez un coup d'œil à quel point les orthographes sont mélangées getID
y getId
sont dans le JCL. (Faites défiler cette page jusqu'en bas). Dans le Version de Java 8 cependant, getId
est de plus en plus utilisée, ce qui indique que la convention PascalCase est aujourd'hui préférée. Il est préférable d'éviter complètement les abréviations lorsque cela est possible.
Les lignes directrices de .NET Framework stipulent que les acronymes à deux lettres comme IO
doit avoir la même casse pour les deux lettres. Ainsi, pour les identifiants en PascalCase (comme un nom de classe), vous obtiendrez DBRate
alors que pour un identificateur en camelCase (comme une variable locale), on peut avoir ioChannel
.
Cela semble être la convention dominante en Java également.
Les directives du .NET Framework recommandent que les acronymes de trois lettres ou plus utilisent une casse mixte pour les identificateurs PascalCase et camelCase, sauf pour le premier mot d'un identificateur camelCase. Ainsi, pour un nom de classe, vous pourriez avoir XmlDocument
alors qu'une variable locale peut être nommée httpRequest
.
Cette convention n'est pas toujours respectée en Java. Les acronymes à quatre caractères semblent généralement utiliser la casse mixte, mais même le JCL n'est pas cohérent en ce qui concerne les acronymes à trois lettres. La plupart d'entre eux semblent être tout en majuscules, comme par exemple URL
, XML
, SQL
et DOM
mais il y a quelques exceptions comme Jar
.
Pour Java :
Pour les acronymes de plus de 4 lettres, utilisez une casse mixte. La bibliothèque standard le fait, et c'est tout simplement logique.
Pour les acronymes de trois lettres, vous pouvez utiliser des majuscules comme pour le JCL, ou des minuscules et des minuscules comme pour le .NET Framework. Dans tous les cas, soyez cohérent.
Pour les acronymes de 2 lettres, utilisez les majuscules.
Pour les abréviations de deux lettres, Java n'a pas vraiment de norme, mais je suggère d'utiliser des majuscules et des minuscules, à moins que la cohérence avec d'autres noms ne rende les majuscules plus attrayantes.
J'aime bien, sauf que ce n'est pas cohérent d'avoir des majuscules pour les acronymes de 3 et 2 lettres. (Je suis peut-être trop puriste, mais je vois la réponse acceptée pour des raisons pratiques. De plus, il y a le facteur de confusion).
@JCoombs : Eh bien, l'incohérence pour 2 lettres est de quelque chose comme IpAddress
ce qui semble terrible pour beaucoup de gens. Personnellement, lorsque j'ai besoin d'écrire du code Java, j'opte pour une casse mixte pour les acronymes de trois lettres, en ne laissant que les deux lettres comme cas spécial.
Il n'y a pas de réponse "correcte". Il s'agit simplement d'un ensemble de pratiques et de conventions qui se marient mieux avec vos autres outils.
Je préfère donc DvdPlayer
. C'est plus utile car dans Eclipse vous pouvez faire Ctrl + Shift + T et choisir les classes en fonction de la première lettre de chaque mot.
Je pense que "DVDPlayer" rend les limites du mot plus claires. "Dvd" n'est pas un mot, alors que "DVD" est un acronyme pour les mots "Digital Versatile Disc". Les limites réelles du mot dans "DVD Player" sont donc "D", "V", "D" et "P".
@GregBrown : Un DVD est un disque avec un trou, personne à part vous ne connaît son nom complet, ni ne s'y intéresse. Et il est bien plus pratique d'utiliser DvdPlayer.
J'aime définir les instances individuelles des classes de la manière suivante :
Catalogue catalogue;
Person person;
Par conséquent, si j'ai utilisé DVDPlayer
comment j'appellerais une instance de ça ? dVDPlayer
? Je choisirais donc le DvdPlayer
Vous pouvez donc nommer les instances comme suit dvdPlayer
.
@DerFlatulator Qu'est-ce qui ne va pas avec ça ? Peu importe comment vous êtes arrivé à dvdPlayer
quand tu y retourneras, tu auras DvdPlayer
.
@DerFlatulator : c'est une question d'automatisation lors de la conversion de UpperCamelCase en lowerCamelCase : j'ai eu le problème en automatisant le mapping Hibernate vers un snake_case : DvdPlayer -> dvd_player
mais DVDPlayer -> d_v_d_player
. Il n'y a aucun moyen d'automatiser le passage de DVDPlayer à dvd_player.
Java efficace semble préférer DvdPlayer.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
130 votes
Je déteste les acronymes.
DigitalVersatileDiscPlayer
est la voie à suivre.9 votes
+1 à Tom pour la blague. Je trouve cette question utile si "correct" est réinterprété comme "standard" ou "le plus typique". La réponse acceptée est géniale !
7 votes
Pour moi, il est logique de considérer ces acronymes comme un seul mot et, à ce titre, j'applique la règle suivante convention et utiliser
DvdPlayer
.9 votes
Le guide de style a déclaré ce qui suit à ce sujet : "Formatez une abréviation comme un mot si elle fait partie d'un nom de classe plus long." donc
DvdPlayer
est la voie à suivre. (Et, pour Tom, "Utilisez des mots entiers et évitez d'utiliser des abréviations, sauf si l'abréviation est plus largement utilisée que la forme longue." et je pense que "DVD" est plus largement utilisé que "Digital Versatile Disc" :-)0 votes
Vous vouliez certainement dire "Discus", n'est-ce pas ? :)