web-dev-qa-db-fra.com

Conventions de nommage en C # - traits de soulignement

J'ai vu cela à un tutoriel sur MVC3 Razor à - http://www.asp.net

public ActionResult Index() {

    return View(_usrs._usrList);

}

Cet usage n'est-il pas tout à fait faux? J'ai toujours pensé que [docs]

En C #, je le vois généralement utilisé uniquement pour définir le privé sous-jacent variable membre pour une propriété publique. Autres variables membres privés n'aurait pas un trait de soulignement. Cet usage est largement allé à la bord de la route avec l’avènement des propriétés automatiques cependant.

Ou est-ce une nouvelle convention d'appellation que je vois? Très curieux de savoir cette utilisation dans le propre tutoriel de Microsoft.

P.S: L'article est très bon. C'est juste que j'ai tendance à suivre les conventions de nommage pour une meilleure lisibilité.

30
naveen

Un bon article à lire sur le développement de directives de style C # est disponible sur StyleCop .

La recommandation initiale pour .NET était de ne jamais utiliser de trait de soulignement, sauf s'ils faisaient partie d'une variable de membre privée, et uniquement comme préfixe, par exemple _customerId. Cela a probablement été hérité de MFC où «m_» était utilisé comme préfixe pour les variables membres.

La pratique actuelle est de ne pas utiliser de soulignement. La désambiguïsation entre les variables membres privées et les paramètres portant le même nom doit être effectuée avec "this.". En fait, toutes les références à des membres privés devraient être précédées de 'this.'.

Le seul endroit où le trait de soulignement semble être utilisé est le plus souvent les méthodes de test unitaire. Je ne suis pas un fan, mais cela peut rendre les méthodes plus lisibles, par exemple Throw_If_Customer_Is_Null(){...}.

31
Phil

Les lignes directrices sont résumées ici http://blogs.msdn.com/b/brada/archive/2005/01/26/361363.aspx et incluent la clause d’utilisation "this". au lieu de souligner. Mais je trouve que le fait de poivrer mon code avec "this." Rend le code plus verbeux, encombré et difficile à lire. En outre, il semble être moins souvent suivi que le soulignement, alors, comme convention, "_" semble plus conventionnel.

14
user316117

En ASP. Les soulignements NET MVC 3 sont utilisés plus généralement. Par exemple, toutes vos vues partielles doivent être nommées avec un trait de soulignement tel que _MyPartialView.
Cela facilite la distinction entre les vues partielles et les vues de votre application.

Quoi qu'il en soit, dans cet exemple, je ne préfère pas chanter les underscores, car il n'est pas nécessaire de les utiliser. Ce n'est pas faux, car il est bon d'écrire avec des listes soulignées de vos entités. Mais je préférerais écrire sans eux.
Pour que les deux solutions soient correctes, écrivez de la manière dont vous vous sentez plus à l'aise.

1
Chuck Norris