Подтвердить что ты не робот

Соглашения об именах имен

Для тех из вас, кто там пишет многократно используемые компоненты, что вы считаете лучшей практикой, если расширяете функциональность платформы .NET?

Например, я создаю библиотеку Pop3 на данный момент, поскольку в .NET не существует. Создать пользовательское пространство имен или использовать System.Net.Mail?

4b9b3361

Ответ 1

Из Правила именования пространства имен:

Общее правило для имен пространств имен заключается в использовании названия компании, за которым следует название технологии и, возможно, функции и дизайн следующим образом. копия Код

CompanyName.TechnologyName[.Feature][.Design]

Как правило, это очень плохая практика, чтобы начать включать вещи в пространство имен по умолчанию для инфраструктуры или библиотеки. Это может вызвать путаницу в отношении того, является ли новое пространство имен частью существующей библиотеки, которая является частью структуры, которая распространяется всем, или является частью настраиваемой структуры, добавленной кем-то еще.

Кроме того, соглашение об именах пытается избежать конфликтов пространства имен с помощью уникальных идентификаторов, таких как CompanyName. Это также уменьшает любые путаницы и проблемы с точки зрения источника новой библиотеки.

Это не только Microsoft, но и Java. Пространства имен в Java, называемые пакетами, имеют следующее соглашение:

Префикс уникального имени пакета всегда написанный во всех строчных ASCII письма и должен быть одним из доменные имена верхнего уровня, в настоящее время com, edu, gov, mil, net, org или один из Английский двухбуквенный код, идентифицирующий стран, указанных в стандарте ИСО 3166, 1981.

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

Итак, если бы у меня была супер потрясающая часть программного обеспечения, она может быть в пакете net.coobird.superawesomesoftware.

И используя имена пакетов, которые содержат пакеты по умолчанию java., javax., com.sun., являются большими, нет-нет.

Ответ 2

Также ознакомьтесь со следующей статьей MSDN для рекомендаций по поводу именования пространств имен

Имена пространств имен

Название, выбранное для пространства имен, должно указывать на выполненную функциональность доступный по типам в пространстве имен. Например, Пространство имен System.Net.Sockets содержит типы, которые позволяют разработчикам использовать сокеты для связи по сетям.

Общий формат имени пространства имен выглядит следующим образом:

<Company>.(<Product>|<Technology>)[.<Feature>][.<Subnamespace>]

Например, Microsoft.WindowsMobile.DirectX.