Quelle est la convention de dénomination appropriée pour une propriété 'ID': ID ou ID?

StackOverflow https://stackoverflow.com/questions/264823

  •  06-07-2019
  •  | 
  •  

Question

Question simple: quand j'ai un objet persistable, il a généralement une propriété appelée ID (pour les classes abstraites).

Alors ... l'ID ou la convention de nommage est-elle?

par exemple.

public int ID { get; set; }

ou

public int Id { get; set; }

a bientôt:

PS. Ceci est pour .NET btw. FXCop conformat serait un bonus.

Était-ce utile?

La solution

Je vais généralement avec Identifiant . Si je veux vraiment le garder court (dans le cadre d’un identifiant plus long, par exemple), j’utilise Id, sauf s’il s’agit d’un paramètre ou d’un membre privé.

Les Consignes de dénomination .NET Framework disent ceci:

  

Un acronyme est un mot qui est formé à partir des lettres de mots d'un terme ou d'une phrase. Par exemple, HTML est un acronyme pour Hypertext Markup Language. Vous devez inclure les acronymes dans les identificateurs uniquement lorsqu'ils sont largement connus et bien compris. Les sigles diffèrent des abréviations en ce sens qu'une abréviation raccourcit un seul mot. Par exemple, ID est une abréviation d’identificateur. En général, les noms de bibliothèque ne doivent pas utiliser d’abréviations.

     

Les deux abréviations pouvant être utilisées dans les identifiants sont ID et OK. Dans les identifiants en cascades, ils doivent apparaître sous la forme Id et Ok. S'ils sont utilisés en tant que premier mot d'un identifiant avec une casse de chameau, ils doivent apparaître respectivement avec id et ok.

Autres conseils

Quoi que vous aimiez, soyez cohérent. ID n'est pas un mot, c'est une abréviation d'identité. Comment écrire des abréviations est un sujet sur lequel les gens se disputent depuis longtemps. Par exemple. est-ce

getResourceURL

ou

getResourceUrl

en fait, les deux peuvent être utilisés dans différents cadres. Un autre abbr populaire. avec le même problème est UTF8.

Il est simplement important d’être cohérent, car sinon, les utilisateurs doivent toujours rechercher la capitalisation correcte pour chaque méthode, si chaque méthode la gère différemment.

J'ai ma propre convention pour ça. Si l'abbr. est à la fin du nom, tout est en majuscule, s'il est ailleurs, il suit les règles de notation des chameaux. Ex.

getResourceURL
urlOfResource
compareUrlToString

Pourquoi? J'aime abbr. être capitalisé. La plupart des gens s'attendent à ce que les URL ou UTF soient en majuscules. Cependant, si elle se trouve au milieu d’un nom, elle annule l’avantage de la notation des chameaux. L'avantage de la notation camel est que vous voyez où un nouveau mot commence par une majuscule. Alors comparez:

compareURLToString
compareUrlToString

Dans le premier cas, je ne vois pas immédiatement que l'URL est un mot et que To est le suivant. Le T peut faire partie de l'URL (URLT) et être un abbr. Différent, donc j'utiliserai le deuxième formulaire. Si c'est à la fin cependant, il ne jouera pas un rôle, aucun autre mot ne suit, donc je préfère la forme majuscule. Je m'en tiens à cette convention tout au long de mon code.

Les directives indiquent "Id".

Heureusement, les gars du .Net ont eu la gentillesse de nous donner des "consignes de nommage". et non pas "lois de nommage" ;), donc si vous sentez fermement que casser une règle indicative ajoute plus de valeur que de la suivre, personne ne vous en rendra compte s'il comprend vos raisons (comme si elle donnait plus de lisibilité et accentuait la signification du nom)

Dans mon magasin, nous utilisons le terme "ID" même si les directives le précisent, mais personne ne se sent vraiment coupable.

Comme d'autres l'ont fait remarquer, Id est conforme aux conventions .NET, mais il ne semble pas très correct. Un grand nombre de personnes l'utilise (et vit toujours).

Je ne sais pas quel sera le contenu de votre champ (nombres, chaînes, instructions), mais si vous souhaitez ignorer le problème, vous pouvez simplement utiliser une autre convention .NET pour les identificateurs d'objet: Nom

Nous utilisons ID en interne, car Id me semble parler de la psychologie, mais FxCop se plaint, car ID n’est pas un acronyme, c’est une abréviation (pour Identity / Identifier). Selon la règle FxCop, seuls les acronymes de deux caractères peuvent être en majuscule. Tout le reste devrait être un bon cas.

Nous avons placé un attribut SuppressMessage sur la propriété ID et tout le monde est content.

" ID " est l'une des abréviations codées en dur dans les règles de dénomination FxCop qui sont toujours considérées comme mal orthographiées, même si elles font partie d'autres mots. Le seul moyen que j’ai trouvé pour le remplacer est d’ajouter "ID". Acronymes comme ():

<Dictionary>
<Acronyms>
   <CasingExceptions>
        <Acronym>ID</Acronym>
  </CasingExceptions>
</Acronyms>
</Dictionary>

Cela a fonctionné avec FxCop 1.36. P.S. En général, je pense que " Id " est une meilleure alternative, mais il est parfois impossible de modifier un nom s'il est généré à partir de fichiers XML (ou de services Web) que nous ne contrôlons pas

Je préfère ID, également en combinaison avec d'autres mots (par exemple, CustomerID), mais cela va à l'encontre des conventions de nommage habituelles.

Ici, nous voyons des choses comme "Id". ou d’autres acronymes en tant que mot, et "Id". est la plus facile, car dans le secteur bancaire, nous obtenons de nombreuses combinaisons de lettres étranges. Nous le traitons donc comme un mot, uniquement avec la première lettre en majuscule, et c’est ainsi que nous avons finalement été définis dans notre document sur les conventions de codage internes.

Mais le résultat final est le suivant: choisissez la convention qui convient le mieux à l’équipe de développeurs et aux autres personnes qui consultent le code source et s’y tiennent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top