Подтвердить что ты не робот

Соглашения об именах в С# - подчеркивания

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

public ActionResult Index() {

    return View(_usrs._usrList);

}

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

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

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

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

4b9b3361

Ответ 1

Хорошая статья, посвященная разработке руководящих принципов стиля С#, находится здесь, в StyleCop.

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

Текущая практика заключается не в том, чтобы использовать подчеркивания вообще. Несознание между переменными частного члена и параметрами с тем же именем должно выполняться с использованием "this". Фактически, все ссылки на закрытых членов должны иметь префикс "this".

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

Ответ 2

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

Ответ 3

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

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