2016-05-20 11 views
1

Давайте будем предельно ясны: я не ищу мнения, а ответ - фактический документированный источник или ссылку, если это возможно. (? Желательно что-то из MSDN)Личные правила именования для классов C# и VB и символ «_»

В .NET при создании класса, основная структура я следую идет по линии:

  • Создание частных переменных полей.
  • Определение свойств класса с помощью get/set.
  • Создание конструкторов.
  • Добавление дополнительных методов класса для функциональности базы данных.
  • Различные функции.

Как я назвать свои личные переменные:

private string _myString; 

Как я в настоящее время называют мои частные переменные:

private string iMyString; 

Мне сказали, что с помощью «_» характер для частных объявления переменных имеют негативные последствия. который я затем изменил свою практику, чтобы использовать символ «i». Я нахожу, что использование одного и того же символа для этих объявлений помогает со скоростью создания свойств класса и общего времени разработки.

Мой вопрос:Что является отраслевым стандартом для структуры имен имен частных переменных? И, почему использование символа «_» считается плохой практикой?

Я выполнил довольно много поисковых запросов Google и даже на веб-сайте MSDN страницы, которые я просматривал, изменили их примеры регулярно и, следовательно, были непоследовательными.

Я не уверен, что это считается проблемой для каждого, но я склонен практиковать качественный код.

+6

[«Хорошая вещь о стандартах заключается в том, что у вас так много на выбор».] (Https://en.wikiquote.org/wiki/Andrew_S._Tanenbaum) - нет отраслевого стандарта. Только мнения ... Я бы спросил, что такое «негативные последствия» с использованием подчеркивания? Я использую их все время. –

+0

Насколько я знаю, нет никакого вреда в использовании символов подчеркивания. Важнее, чем вы решите сделать, чтобы убедиться, что ваш набор стандартов используется последовательно. – juharr

+1

Вам больше не понадобятся поля обратной связи и getters/setter для свойств, если вы используете свойства Auto Implemented. Компилятор поставляет для вас неявную переменную '_propName' (так что ведущий' _' он не может быть слишком * ужасен). После того, как VB и C# расходятся. VB позволяет вам получить доступ к неявному полю в любом месте, в то время как он скрыт в C#. BTW [per se] (https: //en.wikipedia.org/wiki/Per_se) – Plutonix

ответ

2

Из .NET foundation coding style guidelines:

Мы используем _camelCase для внутренних и частных полей и использовать readonly, где это возможно. Поля экземпляров префикса с _, статические поля с s_ и потоковые статические поля с t_.

 Смежные вопросы

  • Нет связанных вопросов^_^