Comment chameau cas où les mots consécutifs ont des chiffres?

21

Je me demande simplement si quelqu'un a une bonne convention à suivre dans ce cas coin-corner-corner. J'utilise vraiment Java, mais je me suis dit que les gens en C # pourraient aussi avoir une bonne idée.

Supposons que j'essaie de nommer une classe où deux mots consécutifs dans le nom de la classe sont numériques (notez que la même question pourrait poser des questions sur les noms d'identificateurs). Je ne peux pas obtenir un bon exemple, mais pensez à quelque chose comme "Valeur 16 bits IEEE 802".

La combinaison d'acronymes consécutifs est possible si vous acceptez des noms de classe tels que HttpUrlConnection. Mais ça me fait sérieusement vomir un peu pour penser à nommer la classe IEEE80216BitValue. Si je devais choisir, je dirais que c'est encore pire que IEEE802_16BitValuece qui ressemble à une mauvaise erreur. Pour les petits nombres, j'envisagerais IEEE802SixteenBitValuemais cela ne va pas très bien.

Quelqu'un a une convention? Il semble que les directives de dénomination de Microsoft soient les seules qui décrivent la dénomination des acronymes avec suffisamment de détails pour faire le travail, mais personne n'a abordé les nombres dans les noms de classe.

Rob I
la source
1
Probablement pas sur le sujet sur SO, toujours une question intéressante.
CodesInChaos
3
J'irais probablement avec _si nécessaire. Tout ce à quoi je peux penser (sauf réorganisation si possible) est encore pire. Dans votre exemple, Ieee802Value16Bitc'est ce que je ferais dans votre exemple.
CodesInChaos
Oups. J'ai pensé à l'existence d'une balise de conventions de nommage, elle était suffisamment proche du sujet pour au moins demander. :)
Simple: ne pas utiliser d'étui camel. Aujourd'hui, il n'y a aucune raison à cela car les linkers ne sont pas limités à 6 caractères dans les noms externes. J'évite les majuscules intégrées dans les noms; à mes yeux orientés vers la prose, ils sont trop maladroits pour être lus confortablement. Ils vacillent comme une mauvaise typographie. - Rob Pike, "Notes sur la programmation en C"
4
@Kaz Nous parlons ici de C # / Java. La beauté est également dans l'œil du spectateur. Personnellement, je pense que _c'est plus laid que camelCase ou PascalCase.
CodesInChaos

Réponses:

12

Je trouverais un nouveau nom de variable au lieu d'essayer de comprendre quelle convention de dénomination utiliser pour une variable à deux nombres

Cela dit, si je devais absolument utiliser un double numéro dans mon nom de variable, et je ne pouvais pas réorganiser les mots / chiffres pour trouver quelque chose de raisonnable, et absolument aucun autre nom n'aurait de sens, j'utiliserais un _entre le Nombres

...

En fait, je le reprends, je voudrais juste trouver un nouveau nom de variable :)

Rachel
la source
7
+1 Nous faisons de l'équipement réseau au travail, donc on pourrait penser que les noms de classe liés aux standards reviennent souvent, mais je ne me souviens pas avoir ce problème, j'ai donc parcouru notre base de code. Au lieu de préfixes comme IEEE802, nous utilisons des mots ésotériques comme "Ethernet" :-)
Karl Bielefeldt
1
Et pour SHA-512/256ou SHA3-256? J'ai du mal à trouver des noms qui ne contiennent pas de _.
CodesInChaos
3

Je choisirais personnellement l'itinéraire de soulignement, par exemple IEEE_802_16_BitValue. Traitant actuellement de la modélisation de certaines architectures CPU, ce Q était un bon timing :-)

Martijn Verburg
la source
2

J'ai utilisé une lettre pour délimiter des nombres consécutifs. Pour moi, ce serait Ieee802x16bit( pas IEEE802x16bit ). Je pense que c'est moins distrayant qu'un sous-sol isolé au milieu d'une jungle de lettres et de chiffres.

Variable misérable
la source