Соглашения об именах в C # - подчеркивание - PullRequest
30 голосов
/ 20 марта 2012

Я видел это на уроке по бритве MVC3 на http://www.asp.net

public ActionResult Index() {

    return View(_usrs._usrList);

}

Разве это использование не является неправильным? Я всегда думал, что [документы]

В C # я обычно вижу, что он используется только при определении основного частного переменная-член для публичной собственности. Другие закрытые переменные-члены не будет подчеркивания. Это использование в значительной степени пошло на хотя с появлением автоматических свойств.

Или это новое соглашение об именах, которое я вижу? Очень любопытно об этом использовании в собственном руководстве Microsoft.

П.С .: Статья довольно хорошая. Просто я стараюсь следовать соглашениям об именах для лучшей читаемости.

Ответы [ 3 ]

33 голосов
/ 20 марта 2012

Хорошую статью о разработке руководств по стилю в C # можно найти здесь: StyleCop .

Первоначальное руководство для .NET состояло в том, чтобы никогда не использовать подчеркивания, если они не являются частью частногопеременная-член, а затем только в качестве префикса, например, _customerId.Вероятно, это было унаследовано от MFC, где «m_» использовалось в качестве префикса для переменных-членов.

В настоящее время вообще не используется подчеркивание.Устранение неоднозначности между закрытыми переменными-членами и параметрами с одним и тем же именем следует выполнять с помощью 'this.'.На самом деле все ссылки на закрытые члены должны начинаться с префикса «this».

Единственное подчеркивание, которое, похоже, часто используется, это методы модульного тестирования.Я не фанат, но это может сделать методы более читабельными, например Throw_If_Customer_Is_Null(){...}.

14 голосов
/ 27 февраля 2013

Рекомендации кратко изложены здесь http://blogs.msdn.com/b/brada/archive/2005/01/26/361363.aspx и включают в себя условие использования «этого».вместо подчеркивания.Но я обнаружил, что добавление в мой код слова "this" делает код более многословным, загроможденным и трудным для чтения.Кроме того, кажется, что за ним следует реже, чем за подчеркиванием, поэтому в качестве условного обозначения «_» кажется более условным.

1 голос
/ 20 марта 2012

в ASP. NET MVC 3 подчеркивания используются чаще. Например, все ваши частичные представления вам нужно назвать с подчеркиванием как _MyPartialView.
Это делается для простого различения частичных представлений и представлений в вашем приложении.

Во всяком случае, в этом примере я не предпочитаю петь подчеркивания, потому что нет необходимости использовать их. Это не так, потому что рекомендуется писать с подчеркиванием списки ваших сущностей. Но я предпочитаю писать без них.
Так что оба способа верны, пишите так, как вам удобнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...