2010-08-19 6 views
1

essayer de tout faire par le livre, est-ce correct ?:C question # style, cteur noms de variables et les noms de propriétés de classe

public class JollyHockey 
{ 
    public string AnotherCoolProperty { get { return anotherCoolProperty; } } 

    string anotherCoolProperty; 

    public JollyHockey(string anotherCoolProperty) 
    { 
     this.anotherCoolProperty = anotherCoolProperty; 
    } 
} 

Ou certaines personnes utilisent souligne pour les variables de classe privée?

+1

Téléchargez l'essai ReSharper et utilisez-le pendant quelques semaines. Cela vous bouscule toutes sortes de conventions d'appellation standard et de remaniements mineurs, y compris ce dont vous parlez ici. – fletcher

Répondre

4

Certaines personnes (dont moi-même) préfixe variables de classe privée avec un trait de soulignement (simplement comme une indication visuelle de ce qui est utilisé où).

Il s'agit principalement d'un facteur de style personnel (ou d'équipe) et vous pouvez utiliser ce que vous voulez (ou ce que votre équipe a normalisé).

Assurez-vous simplement que vous êtes cohérent!

Pour ce que ça vaut la peine, vous pouvez aussi utiliser les propriétés d'auto-pour votre exemple:

public class JollyHockey 
{ 
    public string AnotherCoolProperty { get; private set; } 
    public JollyHockey(string anotherCoolProperty) 
    { 
     AnotherCoolProperty = anotherCoolProperty; 
    } 
} 
+0

N'avait jamais entendu parler des auto-propriétés. Fantastique! –

4

Ou vous pouvez faire ceci:

public class JollyHockey 
{ 
    public string AnotherCoolProperty { get; private set; } 

    public JollyHockey(string anotherCoolProperty) 
    { 
     this.AnotherCoolProperty = anotherCoolProperty; 
    } 
} 
+0

+1 pour suggérer le setter privé. J'aime ta réponse plus que celle de Justin Niessner parce que préfixer des variables privées avec un underscore me semble vraiment moche. :) – jloubert

0

Je crois que votre exemple est d'accord avec les directives de codage MS. Cependant, je ne l'aime pas, et c'est quelque chose qui peut être accepté par votre équipe.

La raison pour laquelle je n'aime pas cela est que le nom de champ sous-jacent est souvent en conflit avec les paramètres de la méthode. J'utilise un trait de soulignement pour préciser qu'il s'agit de variables privées.

0

Lorsqu'un paramètre de fonction a le même nom comme un champ privé,

Je préfixe généralement le paramètre avec un trait de soulignement

Je pense qu'il est logique

la chose ReSharper par fletcher est un bon idea

Questions connexes