Question

J'ai commencé à travailler avec C # récemment et j'ai remarqué que la convention semble être que les variables commencent par une lettre majuscule avec les méthodes.

Est-ce la seule langue qui fait cela et pourquoi? Par exemple:

Page Page = new Page();
Page.Action(); 

Dans d'autres langues, vous verriez plutôt:

Page page = new Page();
page.action();

Il existe d’autres exemples de cette situation qui déroutent depuis que j’ai beaucoup travaillé avec UML, Ruby, C ++ et Java.

Ma question est la suivante: pourquoi C # procède-t-il de cette façon alors que d'autres langues ne le font pas?

Modifier

  

D’autres utilisateurs notent que C # ne respecte pas cette convention, c’est une erreur de ma part.

Était-ce utile?

La solution

En fait non, la convention en C # concerne les noms de variables (et de champs) camelCased et les méthodes PascalCase:

Page page = new Page();
page.Action();

Autres conseils

Non, il s'agit d'un code C # peu standard. Les instructions de .Net Framework Design dans la section 2.6 recommandent l’utilisation du boîtier chameau pour les noms de variables locales.

Les membres publics utilisent PascalCase , les membres privés utilisent camelCase .

Je pense que cela clarifie les méthodes qui supportent une classe par rapport aux méthodes qui définissent une classe.

public class Foo
{
    private Bar bar;
    public Bar Bar { get; set; }

    public void DoFoo()
    {
        makeFoo();
    }

    private void makeFoo()
    {
    }
}

Chaque ensemble de conventions C # que j'ai écris ou utilisé spécifierait le cas de chameau pour les variables, donc:

Page page = new Page();
MyClass myClass = new MyClass();

Vous ne savez pas exactement où vous avez vu la casse Pascal, mais ce n'est certainement pas quelque chose d'inhérent ou de standard dans C #.

Les variables en C # ne commencent généralement pas par une lettre majuscule (bien que cela dépende évidemment de la propre implémentation du développeur). Ce qui vous inquiète probablement est le concept de Propriété . Les propriétés en C # sont utilisées syntaxiquement comme des variables (en ce sens qu'elles peuvent être récupérées ou affectées, plutôt que simplement exécutées comme une fonction), mais peuvent encapsuler la logique métier sur les deux opérations.

Pour répondre à une partie plus large de votre question, les propriétés et les méthodes / fonctions commencent généralement par une lettre majuscule, conformément à Recommandations de Microsoft .

PascalCase était une convention chez Microsoft bien avant .NET. (Dans l'API Win32, etc.)

Une convention est également utile à utiliser dans un environnement unique. .NET étant un environnement complet en soi et Microsoft en tant qu’entreprise, il n’ya aucun intérêt à adopter celui de quelqu'un d’autre.

De plus, je doute fortement que UML ait une convention de dénomination ou que même l’idée qu’elle ait une convention de dénomination ait un sens. UML modélise votre logiciel et doit en respecter les conventions.

Vous pouvez en apprendre beaucoup sur les conventions à adopter en utilisant les deux outils suivants.

FxCop: http://msdn.microsoft. com / fr-us / library / bb429476 (VS.80) .aspx

StyleCop: http://code.msdn.microsoft.com/sourceanalysis

Public = PascalCase, j’ai tendance à n’utiliser que camelCase pour les champs privés et les arguments de paramètre.

Lisez cette norme de codage bien que soit facilement consultable sur Google, ce n'est pas une mauvaise endroit pour commencer.

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