Я предвосхищу это, говоря, что я обычно работаю в C # /. Net.
Обычно я использую схему именования, которая помещает общие, повторно используемые компоненты в пространство имен, которое отражает нашу организацию и специфичные для проекта компоненты, в пространство имен, привязанное к проекту. Одна из причин, по которой я это делаю, заключается в том, что я иногда делюсь своими компонентами с другими за пределами моего отдела, но внутри организации. Специфичные для проекта пространства имен обычно начинаются с названия или аббревиатуры отдела. Когда я повторно использую код между проектами, я обычно переносю его в одно из пространств имен на уровне организации.
Например:
UIOWA.DirectoryServices
содержит классы, связанные с конкретной реализацией нашей Active Directory.
UIOWA.Calendar
содержит классы, связанные с главным календарем университета.
LST.Inventory.Datalayer
содержит классы, реализующие уровень данных приложения для инвентаризации группы Learning Spaces Technology.
Сейчас я приступаю к проекту для организации, имеющей нечеткую связь с Университетом (студенческая группа, которая проводит благотворительную акцию), которая потенциально может быть продана за пределами нашего Университета и, таким образом, не Это действительно вписывается в мои обычные соглашения об именах, т. е. отдел является лишь первым клиентом из многих, которые могут использовать проект.
Я склонен пойти по пути именования организации и создать пространство имен «организационный проект» для этого приложения. Я хотел бы услышать, как другие справляются с этим, и любые ваши советы.
Спасибо.
См. Также этот связанный вопрос о организации пространства имен .
EDIT
Я закончил тем, что создал пространство имен org / project UIOWA.MasterEvent
и получил оттуда дополнительные пространства имен. Еще интересны другие мнения о будущих проектах.