Как вы придумываете имена для своих пространств имен? - PullRequest
7 голосов
/ 27 октября 2008

Я предвосхищу это, говоря, что я обычно работаю в C # /. Net.

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

Например:

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

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

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

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

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

Спасибо.

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

EDIT

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

Ответы [ 3 ]

6 голосов
/ 27 октября 2008

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

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

1 голос
/ 27 октября 2008

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

0 голосов
/ 31 марта 2010

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

  • Acme.Crm.Letters
  • Acme.Crm.Invoicing

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

...