Conventions de nommage en C# - underscores

J'ai vu ceci à Un tutoriel de rasoir MVC3 à http://www.asp.net

public ActionResult Index() {

    return View(_usrs._usrList);

}

Cette utilisation n'est-elle pas fausse? J'ai toujours pensé que [docs]

En C#, je le vois généralement utilisé uniquement lors de la définition du privé sous-jacent variable membre pour une propriété publique. Autres variables relatives aux membres privés n'aurait pas un caractère de soulignement. Cette utilisation est largement allée à la wayside avec l'avènement des propriétés automatiques bien.

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

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

26
demandé sur Community 2012-03-20 10:08:37

3 réponses

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

La directive originale pour. NET était de ne jamais utiliser de traits de soulignement à moins qu'ils ne fassent partie d'une variable membre privée, et seulement comme préfixe, par exemple _customerId. Cela a probablement été hérité de MFC où 'm_' a été utilisé comme préfixe pour les variables membres.

La pratique actuelle est de ne pas utiliser de soulignements du tout. Désambiguïsation entre les variables de membre privé et les paramètres avec le même nom devrait faire en utilisant ' ceci.'. En fait, toutes les références aux députés devraient être préfixées par " ceci.'.

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

26
répondu Phil 2014-08-02 09:43:11

Les lignes directrices sont résumées ici http://blogs.msdn.com/b/brada/archive/2005/01/26/361363.aspx et inclure la stipulation d'utiliser " ceci."au lieu de soulignement. Mais je trouve que peppering mon code avec " ceci."rend le code plus verbeux, encombré et difficile à lire. En outre, il semble être moins souvent suivi que underscore de sorte qu'une convention, " _ " semble plus conventionnelle.

12
répondu user316117 2013-02-26 20:19:23

Dans ASP. Net MVC 3 underscores sont utilisés plus généralement. Par exemple, toutes vos vues partielles que vous devez nommer avec un trait de soulignement comme _MyPartialView.
Il va pour distinguer facilement les vues partielles et les vues dans votre application.

Quoi qu'il en soit, dans cet exemple, Je ne préfère pas chanter les traits de soulignement, car il n'est pas nécessaire de les utiliser. Ce n'est pas faux, car c'est une bonne pratique d'écrire avec des listes de soulignement de vos entités. Mais je préfère l'écrire sans eux.
Donc, les deux sens sont corrects, écrivez dans la façon dont vous vous sentez plus à l'aise.

1
répondu Chuck Norris 2012-03-20 06:16:47