2010-09-16 25 views
1

Lors de la création d'un champ de sauvegarde pour une propriété, quels sont les schémas de dénomination courants?Quels sont les schémas de dénomination "backing field" courants dans .net?

Edit: faire question spécifique .net

+2

Dans quel langage de programmation travaillez-vous? –

+0

Eh bien, je travaille avec. Net mais imaginez c'est un problème multi-langue – Simon

+1

la plupart des langues ne supportent pas les propriétés. Les quelques langues que je connais du haut de ma tête qui les supportent sont C#, python, D et ruby. Les langages qui ne les supportent pas incluent perl, C, C++, * TRAN, Cobol, ad infinitum. Les noms des champs de sauvegarde vont varier d'une langue à l'autre en ce qui concerne les noms réservés, ou même les conventions générales. –

Répondre

1

Les conventions diffèrent d'une langue à l'autre. En Delphi, il existe une convention très forte selon laquelle les variables membres internes sont préfixées avec "F" pour "Field".

public 
    property Name : string read FName write FName; 

private 
    FName : string; 

En C++, il y a une convention similaire spécifiant _ comme le soulignent préfixe.

Beaucoup de développeurs C# utilisent _ ou m_ pour les membres, bien que je comprenne que Microsoft décourage officiellement cela.

Mise à jour: Correction d'une erreur embarrasing - la convention Delphi est F pour champ, non m pour Member.

0

Jusqu'à présent, j'ai

  • Minuscules premier caractère.

    Property = GivenNames

    Field = givenNames

  • Sous partition premier caractère.

    Property = GivenNames

    Field = _GivenNames

6

J'utilise généralement le nom de la propriété elle-même, en CamelCase et préfixé avec un trait de soulignement:

private int _someProperty; 
public int SomeProperty 
{ 
    get { return _someProperty; } 
    set { _someProperty = value; } 
} 

Si vous utilisez C# et la propriété est juste un simple accesseur de champ, alors vous pouvez utiliser des propriétés implémentées automatiquement et le problème de nommage disparaît:

public string SomeOtherProperty { get; set; } 
+0

J'aime celui-ci. – Alex