Именование: решение, проекты, пространства имен и сборки

Я работаю над указателями наименования решений, проектов, их пространств имен и ассемблеров (Visual Studio). Теперь это выглядит так: Например, у нас есть компания под названием "Компания" и проект под названием "Проект". Проект имеет бизнес-логику в отдельной DLL, UI (WPF/WinForms) и веб-части. В названии вопроса есть имена вещей:

Название решения: "Проект".

Название проекта dll бизнес-логики: "Project", пространство имен по умолчанию: "Company.Project", название сборки: "Project".

Название проекта UI: "ProjectUI", default namesapce: "Company.Project.UI" (он может быть расширен в случае нескольких версий пользовательского интерфейса, например "Company.Project.UI.WPF" ), название сборки "Project" (работает, потому что это не dll).

Название веб-проекта: "ProjectWeb", пространство имен по умолчанию: "Company.Project.Web", название сборки: "ProjectWeb" (для веб-приложений).

Мои вопросы: есть ли у вас такие рекомендации? Это хорошая идея, чтобы описать вещи? Что вы думаете о моем подходе?

Буду рад, если вы поделитесь способами, которые вы используете в своей работе.

Ответ 2

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

YourCompanyName.CustomerCompanyName.ProjectName.ProjectUI