Соглашения об именах: рекомендации для глаголов/существительных и использование грамматики английского языка

Может ли кто-нибудь указать мне на сайт или дать мне некоторое представление о том, как вы собираетесь выбирать имена для интерфейсов, классов и, возможно, даже методов и свойств, связанных с тем, что делает этот объект или метод?

Это специально для разработки Microsoft, поэтому Java-esque "doGet" и т.д. на самом деле не используется, однако некоторые общие правила, которые пересекают языковые барьеры, должны (я бы подумал) существовать.

Пример может помочь: у меня есть 4 варианта имен для интерфейса:

IGroupedItem
IGroupableItem
IDataEntity
IGroupedEntity

Все они содержат прилагательное и существительное, или просто существительное. Глядя на платформу .NET, похоже, для этого необходим какой-то набор правил для согласованности? Помимо очевидных глаголов для методов.

Изменить: Хотя пример - это интерфейс, я не ограничиваю его только интерфейсами. Общее правило - это классы - существительные, глаголы методов, существительные свойств. Я предполагаю, что я имею в виду выбор синонимов. Бросает "Сущность" везде неправильно

Ответы

Ответ 1

Посмотрите статьи MSDN для определения наименований. Короче говоря:

  • Используйте существительные для имен классов и имен свойств (это очевидно)
  • Для имен интерфейсов начинайте с я и используйте существительные и/или прилагательные для описания поведения.
  • Использовать глаголы для имен методов для описания действия

Для вашего примера - IGroupableItem.

Ответ 2

Интерфейсы - это вещи, которые класс способен выполнять. Не то, что он , но что он может делать.

IGroupableItem

Другие имена описывают, что вещи или слишком расплывчаты, чтобы быть полезными.

В частности, "IDataEntity" в значительной степени не имеет смысла. В конце концов, все объекты данных.

Ответ 3

В MSDN есть статья только по Правилам именования интерфейсов, которые могут вам помочь. Если вам нужны соглашения об именах, отличные от интерфейсов, а также многие другие рекомендации по именованию и разработке, вы также можете найти их на MSDN.

Ответ 5

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

Ответ 6

Как и в Рекомендациях MSDN, есть документ стандарта С# по кодированию из IDesign Juval Lowy, что весьма полезно (don не знаю, насколько это отличается от MSDN).

Стандарты кодирования С#