Соглашения об именах для пространств имен методов расширения и классов спонсоров - PullRequest
15 голосов
/ 27 июня 2009

Какие соглашения об именах вы используете для пространств имен и классов спонсоров? (т.е. классы, которые содержат определения метода расширения)

Существует ли стандартное / рекомендуемое соглашение об именах .NET Framework? (в книге «Руководство по разработке структуры, 2-е издание» даются рекомендации только о том, какие пространства имен не использовать).

Ответы [ 2 ]

13 голосов
/ 27 июня 2009

Я не видел никаких официальных рекомендаций, но я организовывал свои классы расширений, такие как [NameSpace]. [ClassName] Расширения:

ProjectName.Web.Util.ControlExtensions
ProjectName.Data.Util.CollectionExtensions
7 голосов
/ 27 июня 2009

Для пространства имен - я бы сосредоточился на стандартных руководящих принципах для имен пространств имен. Поместите методы расширения в пространство имен, где они обычно будут использоваться / связаны осмысленно, и избегайте использования дополнительного пространства имен только для этого.

Для спонсорского класса - в данном случае это довольно неважно. Я бы попытался выбрать имя класса, которое имеет смысл, но, похоже, не существует фиксированного руководства.

Здесь важно то, что класс спонсора никогда не используется и не виден пользователю ваших методов расширения. Пока пространство имен включено, метод расширения найден правильно. Лично я использую что-то очень похожее на jrummell для моих методов расширения, но Microsoft не следует этому в Framework (хорошим примером этого является класс Enumerable ).

...