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

StackOverflow https://stackoverflow.com/questions/412839

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

IGroupedItem
IGroupableItem
IDataEntity
IGroupedEntity

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

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

Это было полезно?

Решение

Посмотрите на Статьи MSDN для указания именования.Короче говоря:

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

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

Другие советы

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

IGroupableItem

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

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

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

Это тот же материал, что и в ответе Споди, но Руководство по разработке для класса. Разработчики библиотек в основном отлично справляются с наименованиями и многими другими. и многое другое.

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

Наряду с руководящими принципами MSDN, есть документ C # Standards Codes от IDesign Джувала Лоуи, который весьма полезно (не знаю, если / насколько это отличается от MSDN).

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

Попробуйте это ....

Главный сайт: http://www.ssw.com.au/ SSW / стандарты / Default.aspx
Правила Кодекса: http://www.ssw.com.au/ssw /Standards/Rules/RulestoBetterCode.aspx

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top