Supposons que j'ai besoin de stocker le nombre d'objets foo dans une variable.
N'étant pas anglophone, je me demande toujours quel est le meilleur nom (= court et immédiatement clair) pour cette var.
foo_num
? num_foo
? no_foo
? foo_no
? ou autre chose?
Le nom complet devrait être number_of_foos
, mais c'est un peu verbeux.
Quelle est votre préférée et pourquoi?
naming-conventions
Giacomo
la source
la source
number_of_foos
dedans deviennent rapidement lourdes.Réponses:
Je préfère
fooCount
parce que c'est simple, et je pense que le mot «compter» est le plus court et le meilleur qui le décrit, pas «nombre de» ou autre.Je vais pour
FOO_COUNT
si vous avez besoin de le stocker final et statique (si vous n'avez pas besoin de le changer / si c'est une constante). (tout en majuscules pour les constantes!)Je vais pour
count
et de l' appeler parFoo.count
si vous avez vraiment l' enregistrer comme un attribut pour une classe que vous avez fait, ce qui estFoo
.lisibilité pour vous et pour votre équipe!
la source
foosCount
, puisque le pluriel représente encore mieux un ensemble. Et il est censé compter un ensemble de choses.gamesIncludedCount
, mais le singulier sonne mieux pour d'autres noms tels quegameCount
.Puisque la variable stocke le nombre d'objets foo,
fooCount
obtient mon vote.la source
En anglais, les mots 'number' et 'count' peuvent tous deux agir comme des noms ou des verbes, mais il est probablement plus courant de voir 'number' utilisé comme nom et 'count' comme verbe. Ainsi, vous pourriez soutenir que «le nombre de foos» ou «num_foo» semble plus familier que «le nombre de foo» ou «foo_count». Cela me semble certainement plus naturel lorsque l'on fait référence à une quantité qui ne change pas constamment. Le mot «compter», même utilisé comme nom, me suggère une valeur qui augmente avec le temps.
Ruby et Python ont des méthodes .count, qui démontrent que le mot est utilisé comme verbe plutôt que comme nom. En Ruby, vous pourriez dire:
Pourtant, cela renvoie une valeur représentant le nombre de foos, ce qui est exactement ce à quoi vous pourriez vous attendre si vous venez de référencer une variable appelée «foo_count». Donc, à certains égards, le fait que «foos.count» et «foo_count» se ressemblent est plutôt sympa.
'Number' peut être ambigu dans certains cas, car il est courant de stocker des nombres qui ne représentent pas une quantité de quelque chose. D'autres personnes ont déjà mentionné des identifiants et des numéros de carte de crédit. Voici un autre exemple:
En regardant ce nom de variable, pouvez-vous deviner ce qu'il représente? Est-ce un entier représentant la quantité de chaînes ou est-ce une représentation sous forme de chaîne d'un nombre?
Donc, je réfléchis vraiment à voix haute, et je donne quelques avantages et inconvénients pour chacun comme je les vois. La raison pour laquelle je suis même sur cette vieille page est que je me retrouve à utiliser les deux de manière incohérente et que je pensais voir ce que les autres font.
BTW, je n'aime pas «nr_foo», car «nr» ne me suggère pas vraiment ou ne ressemble pas du tout au mot «numéro». Cela ressemble à «ner», ou peut-être signifie «non noté» ou «rugby national». :-) Et je n'oserai même pas dire à quoi ressemble fooCnt. Tout simplement pas.
la source
Le noyau Linux utilise "nr_foo", ce qui est meilleur que "no_foo" (qui ressemble à une négation). J'ai moi-même tendance à utiliser "fooCount" ou "fooCnt", mais aussi parfois "numFoo". Je ne sais pas pourquoi je vacille entre "fooCount" et "numFoo". Je suppose que cela dépend de mon humeur. Mais toi, tu devrais être cohérent (comme je devrais);)
la source
credit_card_nr
sonne comme "numéro de carte de crédit", alors quenr_credit_cards
sonne comme "nombre de cartes de crédit" et c'est plus court quecredit_cards_count
. Cela me semble assez naturel (mais je me trompe peut-être car je ne suis pas anglophone).__NR_open
n'est pas le nombre d'open
appels système - c'est l'index de l'appel système, c'est-à-dire la valeur que vous passez à l'instruction d'appel système pour spécifier l'appel système que vous invoquez.fooCnt
raison du risque de mal l'interpréter.fooCount
si la variable n'est pas une constante,FOO_COUNT
si c'est le cas. :RÉla source
Personnellement, j'irais pour
total_foos
outotalFoos
selon la norme de langue. Il est préférable que la valeur soit un total final et pas seulement un décompte en cours.Il est également plus logique de dire «J'ai 3 foos au total» plutôt que «J'ai un nombre de 3 foos».
Dans l'ensemble, ce n'est pas une grosse affaire mais j'utilise toujours
total
pluscount
!la source
totalFoos
pourrait impliquer qu'il s'agit d'un ensemble complet de Foos (c'est arrivé dans mon cas, lorsque je collectionnais différents ensembles). De plus, c'est bien d'avoir l'identifiant au début du mot, pour plus de lisibilité. Alors j'irais avecfoosCount
, car il est moins ambivalent et commence parfoo*
. Vous pouvez également dire «J'ai un foosCount de 3».Surtout
fooCount
comme tout le monde l'a dit. Parfois, il est plus approprié d'utiliserfoos
, généralement lorsque vous n'avez pas la liste des foos, ou qu'ils ne sont pas des objets séparés (par exempleseconds
, pour une pizza que vous pouvez avoirslices
, etc.)À n'utiliser que
foos
lorsqu'il n'y a aucun risque de confusion - lorsqu'il est évident que vous n'aurez jamais de liste de foos dans ce contexte.la source
foos
parfois pour signifier "le nombre d'foo
objets" et d'autres fois pour signifier "la collection d'foo
objets, je pense que cela pourrait prêter à confusion.slices
me sonne comme un tableau d'slice
objets, qui font partie d'unpizza
objet. J'utiliseraissliceCount
, ounr_slices
, ou quoi que ce soit (je n'ai pas encore décidé: D)J'utilise pour la quantité de quelque chose: somethingCount ( something_count )
J'utilise pour le numéro de séquence de quelque chose: somethingIndex ( something_index ), car le mot "number" est ambigu ( cela signifie la quantité et le numéro de séquence )
la source
J'irais pour
fooCount
la source
J'ai tendance à utiliser fooCount ou similaire.
la source