Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Это содержимое перепечатывается разрешением Pearson Education, Inc. из руководства по проектированию платформы: соглашения, идиомы и шаблоны для повторно используемых библиотек .NET, 2-го выпуска. Этот выпуск был опубликован в 2008 году, и книга с тех пор была полностью пересмотрена в третьем выпуске. Некоторые сведения на этой странице могут быть устаревшими.
Типы состоят из элементов: методов, свойств, событий, конструкторов и полей. В следующих разделах описаны рекомендации по именованию элементов типа.
Имена методов
Так как методы являются средством совершения действий, рекомендации по проектированию требуют, чтобы имена методов были глаголами или глагольными фразами. В соответствии с этим руководством также можно различать имена методов от имен свойств и типов, которые являются существительными или прилагательными фразами.
✔️ Давайте методам имена, которые являются глаголами или глагольными фразами.
public class String {
public int CompareTo(...);
public string[] Split(...);
public string Trim();
}
Имена свойств
В отличие от других членов, свойствам следует присваивать существительные фразы или прилагательные имена. Это связано с тем, что свойство ссылается на данные, а имя свойства отражает это. PascalCasing всегда используется для имен свойств.
✔️ Да, называйте свойства с использованием существительных, существительных словосочетаний или фраз с прилагательными.
❌ Не имеют свойств, которые соответствуют имени методов Get, как показано в следующем примере:
public string TextWriter { get {...} set {...} }
public string GetTextWriter(int value) { ... }
Обычно этот шаблон указывает, что свойство должно быть методом.
✔️ Называйте свойства коллекций фразами во множественном числе, описывающими элементы в коллекции, вместо использования единственного числа с последующим "List" или "Collection".
✔️ Используйте утвердительные фразы для названий логических свойств (CanSeek вместо CantSeek). При необходимости логические свойства можно также предварять префиксами "Is", "Can" или "Has", но только в тех случаях, когда это добавляет ценность самому свойству.
✔️ Рекомендуется предоставить свойству то же имя, что и его тип.
Например, следующее свойство правильно получает и задает значение перечисления, названное Color, поэтому это свойство называется Color.
public enum Color {...}
public class Control {
public Color Color { get {...} set {...} }
}
Имена событий
События всегда ссылаются на какое-либо действие, которое происходит или произошло. Поэтому, как и в случае с методами, события именуются глаголами, а время глаголов используется для указания времени возникновения события.
✔️ Назовите события с использованием глагола или глагольной фразы.
Примеры: Clicked, Paintingи DroppedDownт. д.
✔️ Присвойте именам событий понятие до и после, используя текущее и прошлое время.
Например, событие закрытия, которое инициируется до закрытия окна, будет называться Closing, и то, которое инициируется после закрытия окна, будет называться Closed.
❌ НЕ используйте префиксы "До" или "После", чтобы указать предварительные и последующие события. Используйте настоящее и прошедшее времена, как описано.
Следует именовать обработчики событий (делегаты, используемые в качестве типов событий) с суффиксом «EventHandler», как показано в следующем примере.
public delegate void ClickedEventHandler(object sender, ClickedEventArgs e);
✔️ Используйте два параметра с именем sender и e в обработчиках событий.
Параметр отправителя представляет объект, вызвавшее событие. Параметр отправителя обычно имеет тип object, даже если можно использовать более конкретный тип.
✔️ Назовите классы аргументов события с суффиксом "EventArgs".
Имена полей
Рекомендации по именованию полей применяются к статическим открытым и защищенным полям. Внутренние и частные поля не подпадают под рекомендации, причем открытые или защищенные экземплярные поля не разрешены рекомендациями по проектированию членов.
✔️ Используйте PascalCasing в именах полей.
✔️ Назовите поля, используя существительное, словосочетание или прилагательное.
❌ Не используйте префикс для имен полей.
Например, не используйте "g_" или "s_" для указания статических полей.
© Часть 2005, 2009 Корпорация Майкрософт. Все права защищены.
Перепечатан с разрешения Pearson Education, Inc. из Руководство по проектированию: Соглашения, идиомы и шаблоны для повторного использования библиотек .NET, 2-е издание Кшиштоф Чвалина и Брэд Абрамс, опубликованное 22 октября 2008 года Addison-Wesley Профессиональный в рамках серии разработки Microsoft Windows.