Руководство по именования с C#
-
18-09-2019 - |
Вопрос
У меня есть этот класс:
class DoSomething
{
private int timesDone;
...
}
Какой правильный способ назвать переменную «Timesdone»?
Иногда я считаю названным как m_timesdone. Анкет Это правильно? Где я могу найти информацию о правилах именования?
Благодарю вас!
Решение
Согласно стандартам MS, ваш код в порядке. Наличие префиксов в качестве m_ не очень необходимо, когда у вас есть Advanced IDE. Однако короткий префикс как _ Может использоваться, чтобы воспользоваться преимуществами Auto Complete, чтобы быстро разобраться с членами класса.
Я бы порекомендовал вам получить копию "Руководства по проектированию фреймвортов: конвенции, идиомы и шаблоны для библиотек повторного использования .NET"Книга, чтобы узнать больше по стандартам MS
Другие советы
Там нет универсального правильного пути. Выбрал соглашение об именах по своему вкусу и придерживайтесь его.
Определенно не используйте m_timesdone.
Проще говоря, поставьте "Private Int Timesdone".
Вы можете узнать о том, как назвать переменные, прочитав несколько хороших книг, таких как Code Complete.
Многие люди делают, как у вас есть. Затем вы бы ссылались на это как
this.timesDone = someInt
Тем не менее, мне это не нравится, потому что я не фанат печати «это», чтобы избежать столкновений с именами параметров метода. Пока он читается и последовательно, все будет в порядке.
Конвенция о полях -членах с предварительным кладком с M_ происходит из первых дней C ++, когда Венгерская нотация был популярен. Это не конвенция C#, и, поскольку большая часть кода C# записана с использованием недавней визуальной студии, она добавляет визуальный шум без какого -либо соответствующего преимущества, потому что вы все равно можете легко увидеть область переменной. Не используйте m_.
Одиноким примером венгерской нотации, который нашел свой путь в C#, является практика предварительных имен классов интерфейса с I, такими как Idisposable.
Вы можете найти некоторую информацию непосредственно на сайте MSDN:http://msdn.microsoft.com/en-us/library/ms229002.aspx
Единственное соглашение, которое вы найдете, - это то, что оно должно нет Будьте Timesdown, но это должно начинаться с буквы с более низким регистом.
В более старых публикациях (MS, MSDN) использование ведущего подчеркивания обескуражено. Позже он вернулся, особенно для Backingfields для свойств: _timesdown.
Обычно принимается стратегия:
За Учебный класс & Метод: Паскаль корпус
например
public class Program
{
}
например
public void DoSomething() { }
За Переменные: Верблюд Например
Локальные переменные:
aTimesDown
Глобальная переменная:
myTimesDown
Надеюсь, это может вам помочь :)