Как вы придумываете имена для своих пространств имен?

StackOverflow https://stackoverflow.com/questions/240033

Вопрос

Я предварю это, сказав, что обычно я работаю в C # /.Net.

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

Например:

UIOWA.DirectoryServices содержит классы, которые имеют дело с конкретной реализацией нашего Active Directory.

UIOWA.Calendar содержит занятия, связанные с основным календарем университета.

LST.Inventory.Datalayer содержит классы, реализующие уровень данных приложения Learning Spaces Technology group inventory application.

Сейчас я приступаю к проекту для организации, которая имеет более размытую связь с Unviersity (студенческая группа, проводящая благотворительное мероприятие), который потенциально может быть продан за пределами нашего университета, и, таким образом, он на самом деле не вписывается в мои обычные соглашения об именовании, т. Е. департамент является лишь первым клиентом из потенциально многих, которые могли бы воспользоваться проектом.

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

Спасибо.

Смотрите также этот связанный с этим вопрос о организация пространства имен.

Редактировать

В итоге я создал пространство имен org / project UIOWA.MasterEvent и извлекать оттуда дополнительные пространства имен.Все еще интересуетесь другими мнениями по будущим проектам.

Это было полезно?

Решение

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

Наши пространства имен организованы по названиям проектов.Многоразовый материал помещается в Toolbox пространство имен.Возможно, немного грубо, но пока это работает довольно хорошо.

Другие советы

Я разработчик .NET, и я всегда использую пространство имен organizational project (com.bolidian.projectspace), потому что оно гарантирует уникальность.

Я использую организацию, за которой следует продукт, например Acme.Crm.При группировании классов вместе в пространстве подназваний всегда используйте множественное число или действие, чтобы оно не могло конфликтовать с классом.например

  • Acme.Crm.Письма
  • Acme.Crm.Выставление счетов

Я следую соглашению Microsoft, не используя аббревиатуры с заглавной буквы, например Crm вместо CRM, Sql вместо SQL - но это скорее личное предпочтение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top