Попробуйте Regex: ^(?:\d+')?(?: ?\d+"( ?\d+\/\d+)?)?$
В Framework есть примеры с базовым суффиксом, например, System.Configuration.Provider.ProviderBase
, System.Web.SessionState.SessionStateStoreProviderBase
.
Но ни в коем случае не все абстрактные базовые классы в Framework придерживаются этого соглашения (например, System.Data.Common.DbParameter
, System.Data.Common.DbCommand
). [12107 Лично я не стал бы использовать суффикс , если только я не хотел бы подчеркнуть тот факт, что это абстрактный класс, и считал, что в противном случае пользователи этого класса могут ожидать, что имя будет указывать конкретную реализацию.
Ничего из вышеперечисленного. Подумайте, какую цель обеспечивает ваш базовый класс; назовите это так. Например, базовым классом автомобилей и велосипедов может быть Автомобиль.
Если вы создаете базовые классы просто для того, чтобы иметь базовый класс одного класса, и без какой-либо цели или причины, кроме этого, вы, вероятно, делаете что-то неправильно.
Если вы говорите о виртуальных базовых классах, то стандартом Microsoft является ClassnameBase (например, CollectionBase.)
Мы используем BaseEntity, но я думаю, что это ваши собственные предпочтения. Я часто вижу другого.
Просто будьте последовательны в своем контексте, будь то ваш проект, пространство имен или, если возможно, ваша команда. ИМХО разные конвенции хуже, чем плохие.
BaseEntity очень похож на случай верблюда - strName, bseEntity. Я бы пошел на EntityBase, так как он сначала определяет предмет, который поможет вам быстрее определить его функцию.
Лично я бы вообще не рекомендовал добавлять словосочетание. Вы никогда не знаете, когда придется менять код, и он больше не будет базовым объектом. При этом, мы делали это в прошлом, мы поставили перед словом «Base». Кажется, течет лучше.
Всегда думайте об алфавите, когда называете материал. Мне действительно не нравится смотреть на SQL-сервер, и каждая хранимая процедура называется usp [что-то]. Кроме того, не злоупотребляйте Get и Set в качестве ведущих имен для функции. Вместо GetItems или PlaceOrder подумайте о присвоении им имен ItemsGet или OrderPlace.
Таким образом, в общем случае ClassnameBase / EntityBase будет лучшим выбором.
Я думаю, это вопрос выбора. Я бы сказал, что если вы создаете много базовых классов, то, возможно, лучше всегда использовать BaseClassname, потому что таким образом вы ВСЕГДА можете узнать, какие базовые классы вы можете начать использовать, просто набрав Base и получив остальную помощь от Intellisense. Что, если бы у вас было 20 базовых классов, вы добавили базовый суффикс и забыли, как называется базовый класс? Вы хотите сначала создать диаграмму классов из VS и узнать, какие базовые классы доступны? Можно называть их ClassBase, когда это всего лишь один или два класса.
То же самое касается выбора между функциями GetItems и ItemsGet. Я бы сказал, по крайней мере, для удобства чтения - перейдите на GetItems. Соблюдайте условные обозначения :)