Соглашение о присвоении имен Класса C#: Это - BaseClass или ClassBase или AbstractClass

Попробуйте Regex: ^(?:\d+')?(?: ?\d+"( ?\d+\/\d+)?)?$

Демо

107
задан John Washam 16 July 2014 в 21:00
поделиться

8 ответов

В Framework есть примеры с базовым суффиксом, например, System.Configuration.Provider.ProviderBase , System.Web.SessionState.SessionStateStoreProviderBase .

Но ни в коем случае не все абстрактные базовые классы в Framework придерживаются этого соглашения (например, System.Data.Common.DbParameter , System.Data.Common.DbCommand ). [12107 Лично я не стал бы использовать суффикс , если только я не хотел бы подчеркнуть тот факт, что это абстрактный класс, и считал, что в противном случае пользователи этого класса могут ожидать, что имя будет указывать конкретную реализацию.

84
ответ дан 24 November 2019 в 03:43
поделиться

Ничего из вышеперечисленного. Подумайте, какую цель обеспечивает ваш базовый класс; назовите это так. Например, базовым классом автомобилей и велосипедов может быть Автомобиль.

Если вы создаете базовые классы просто для того, чтобы иметь базовый класс одного класса, и без какой-либо цели или причины, кроме этого, вы, вероятно, делаете что-то неправильно.

43
ответ дан 24 November 2019 в 03:43
поделиться

Если вы говорите о виртуальных базовых классах, то стандартом Microsoft является ClassnameBase (например, CollectionBase.)

4
ответ дан 24 November 2019 в 03:43
поделиться

Мы используем BaseEntity, но я думаю, что это ваши собственные предпочтения. Я часто вижу другого.

Просто будьте последовательны в своем контексте, будь то ваш проект, пространство имен или, если возможно, ваша команда. ИМХО разные конвенции хуже, чем плохие.

2
ответ дан 24 November 2019 в 03:43
поделиться

BaseEntity очень похож на случай верблюда - strName, bseEntity. Я бы пошел на EntityBase, так как он сначала определяет предмет, который поможет вам быстрее определить его функцию.

-1
ответ дан 24 November 2019 в 03:43
поделиться

Лично я бы вообще не рекомендовал добавлять словосочетание. Вы никогда не знаете, когда придется менять код, и он больше не будет базовым объектом. При этом, мы делали это в прошлом, мы поставили перед словом «Base». Кажется, течет лучше.

2
ответ дан 24 November 2019 в 03:43
поделиться

Всегда думайте об алфавите, когда называете материал. Мне действительно не нравится смотреть на SQL-сервер, и каждая хранимая процедура называется usp [что-то]. Кроме того, не злоупотребляйте Get и Set в качестве ведущих имен для функции. Вместо GetItems или PlaceOrder подумайте о присвоении им имен ItemsGet или OrderPlace.

Таким образом, в общем случае ClassnameBase / EntityBase будет лучшим выбором.

-4
ответ дан 24 November 2019 в 03:43
поделиться

Я думаю, это вопрос выбора. Я бы сказал, что если вы создаете много базовых классов, то, возможно, лучше всегда использовать BaseClassname, потому что таким образом вы ВСЕГДА можете узнать, какие базовые классы вы можете начать использовать, просто набрав Base и получив остальную помощь от Intellisense. Что, если бы у вас было 20 базовых классов, вы добавили базовый суффикс и забыли, как называется базовый класс? Вы хотите сначала создать диаграмму классов из VS и узнать, какие базовые классы доступны? Можно называть их ClassBase, когда это всего лишь один или два класса.

То же самое касается выбора между функциями GetItems и ItemsGet. Я бы сказал, по крайней мере, для удобства чтения - перейдите на GetItems. Соблюдайте условные обозначения :)

4
ответ дан 24 November 2019 в 03:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: