2010-07-21 3 views
1

L'extension ReSharper de VS me suggère d'utiliser PascalCase dans la propriété ci-dessous.Newbie question sur PascalCase

public Color Color { get; private set; } 

Ici, la couleur est du type Enum. Je n'aurais jamais pensé que cela puisse être possible parce que c'est le même nom avec le type. Mais c'est valide. Est-ce quelque chose suggéré par les règles générales? Dois-je écouter ReSharper toujours? Serait apprécié de bons liens de référence pour PascalCase.

+1

Il y a une ligne directrice de conception Microsoft Framework qui dit quelque chose le long de la ligne, _ « Pensez à donner une propriété du même nom que son type. » _ Alors oui, cela est recommandé (pas pour chaque propriété, mais où cela a du sens). – stakx

+0

Notez qu'il s'agit d'un doublon de http://stackoverflow.com/questions/1095644/giving-a-property-the-same-name-as-its-class et de http://stackoverflow.com/questions/1746117/ pourquoi-est-il-possible-d'-avoir-propriétés-nommé-le-même-que-leur-retour-types/1746372 # 1746372 –

Répondre

6

C'est ce que l'on appelle le problème de la couleur de couleur et qui est expliqué ici;

http://blogs.msdn.com/b/ericlippert/archive/2009/07/06/color-color.aspx

Et oui, il est supposé fonctionner et suit la dénomination généralement convenu de nommer les règles de la convention. Je le laisserais tel que vous le montrez dans votre exemple.

+0

En fait, ce code pourrait * introduire * le problème de couleur de couleur, mais la propriété elle-même est parfaitement valide parce que la syntaxe des propriétés est toujours 'accessmodifier (s) type Name' – Powerlord

+0

Je suis choqué qu'il y ait le même problème de nommage avec ma question spécifique. – Freshblood

+0

@R. Bemrose: Oui, j'aurais probablement pu le dire, mais je pense que le PO obtient ce que je voulais dire. –

0

Oui, cela est recommandé. Je vous suggère de suivre les directives de ReSharper, surtout si vous débutez en programmation.

L'article de Wikipedia sur CamelCase a quelques informations utiles.

0

La syntaxe mise en évidence ici est particulièrement déroutante, mais le compilateur sait à quel moment s'attendre à un type et quand attendre un nom, donc ce n'est pas un problème.

0

http://msdn.microsoft.com/en-us/library/ms229043.aspx

Les lignes directrices suivantes fournissent les règles générales pour les identificateurs.

Utilisez le cas Pascal pour tous les noms de membre, de type et d'espace de nom public consistant en plusieurs mots.

Écouter ReSharper;)

+0

Ecoutez ReSharper pour cette simple question ou pour tout? – Freshblood

+0

Juste pour cette question spécifique. Je n'ai pas assez d'expérience ReSharper, mais on dirait que c'est toujours correct. –

+1

Vous ne devriez pas écouter aveuglément quoi que ce soit, et cela va au-delà de la programmation. L'OP voulait savoir le "pourquoi" derrière la suggestion, ce qui est une bonne chose. –