Если вы посмотрите на раздел Имена членов типа , то там написано:
Правила именования полей применяются к статическим общедоступным и защищенным
поля. Внутренние и частные поля не охватываются директивой
(мой акцент)
Меня всегда раздражало, что Stylecop нравится префикс this
. Мне сразу стало ясно, что я звоню учащемуся, потому что я говорю:
Load();
и запись:
this.Load();
На самом деле не говорит мне намного больше, он просто делает мою строку более многословной. Конечно, Load
может быть статичным, но какое мне дело?
Лично мне нравится подход m_
. Это облегчает мне поиск в коде переменных-членов, все переменные-члены группируются вместе в раскрывающемся списке членов, и когда я ввожу m_
, Intellisense немедленно сужает список до всех моих переменных-членов. Вы не получаете ничего этого при использовании префикса this
.
Если вы запустите Reflector для основных библиотек C #, вы увидите префиксы, такие как m_
и просто _
, поэтому Microsoft явно достаточно гибко именует частных и внутренних членов.
Когда я вижу код с this
префиксами для переменных-членов и методов, я склонен понижать свое мнение об этом разработчике, в частности, если разговор об этом заканчивается с их оправданием на том основании, что "Stylecop говорит, что должен".