Соглашения об именах: рекомендации для глаголов/существительных и использование грамматики английского языка
Может ли кто-нибудь указать мне на сайт или дать мне некоторое представление о том, как вы собираетесь выбирать имена для интерфейсов, классов и, возможно, даже методов и свойств, связанных с тем, что делает этот объект или метод?
Это специально для разработки Microsoft, поэтому Java-esque "doGet" и т.д. на самом деле не используется, однако некоторые общие правила, которые пересекают языковые барьеры, должны (я бы подумал) существовать.
Пример может помочь: у меня есть 4 варианта имен для интерфейса:
IGroupedItem
IGroupableItem
IDataEntity
IGroupedEntity
Все они содержат прилагательное и существительное, или просто существительное. Глядя на платформу .NET, похоже, для этого необходим какой-то набор правил для согласованности? Помимо очевидных глаголов для методов.
Изменить: Хотя пример - это интерфейс, я не ограничиваю его только интерфейсами. Общее правило - это классы - существительные, глаголы методов, существительные свойств. Я предполагаю, что я имею в виду выбор синонимов. Бросает "Сущность" везде неправильно
Ответы
Ответ 1
Посмотрите статьи MSDN для определения наименований. Короче говоря:
- Используйте существительные для имен классов и имен свойств (это очевидно)
- Для имен интерфейсов начинайте с я и используйте существительные и/или прилагательные для описания поведения.
- Использовать глаголы для имен методов для описания действия
Для вашего примера - IGroupableItem.
Ответ 2
Интерфейсы - это вещи, которые класс способен выполнять. Не то, что он , но что он может делать.
IGroupableItem
Другие имена описывают, что вещи или слишком расплывчаты, чтобы быть полезными.
В частности, "IDataEntity" в значительной степени не имеет смысла. В конце концов, все объекты данных.
Ответ 3
В MSDN есть статья только по Правилам именования интерфейсов, которые могут вам помочь. Если вам нужны соглашения об именах, отличные от интерфейсов, а также многие другие рекомендации по именованию и разработке, вы также можете найти их на MSDN.
Ответ 4
Это тот же материал, что и ответ Spodi, но MSDN Рекомендации по дизайну для разработчиков библиотеки классов в основном превосходны, охватывая название и многое, многое другое.
Ответ 5
Есть хорошая статья
Нарушение неправильного кода
Джоэл Спольский. В нем рассказывается о не очень популярном, но очень удобном соглашении об именах.
Ответ 6
Как и в Рекомендациях MSDN, есть документ стандарта С# по кодированию из IDesign Juval Lowy, что весьма полезно (don не знаю, насколько это отличается от MSDN).
Стандарты кодирования С#
Ответ 7
Попробуйте это....
Основной сайт: http://www.ssw.com.au/ssw/standards/Default.aspx
Правила кода: http://www.ssw.com.au/ssw/Standards/Rules/RulestoBetterCode.aspx