Как вы придумываете имена для своих пространств имен?
-
04-07-2019 - |
Вопрос
Я предварю это, сказав, что обычно я работаю в 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 - но это скорее личное предпочтение.