Какой каталог/решение/структура проекта вы считаете наиболее управляемым и удобным для средних и крупных проектов, написанных на С#? Под "средним до крупным" подразумеваются проекты, которые включают в себя разнообразный набор типов проектов Visual Studio С# в иерархической структуре с вложенными пространствами имен. 1
Меня интересуют только те типы проектов, которые содержатся в разделе "Windows" в Visual Studio 2008: Windows Forms, WPF, пользовательские элементы управления для библиотек классов и классов. Кроме того, я использую MSBuild (через Visual Studio) для создания моего проекта.
Я никогда не нашел структуру по умолчанию, автоматически создаваемую Visual Studio, которую стоит использовать. Эта структура имеет одну папку исключительно для хранения решения и вложенную папку для каждого проекта. Мне интересно, если это из-за масштаба проекта, в котором я использовал С# в прошлом (от малого до среднего). Какие преимущества имеет эта структура для более крупных проектов? Вы сочли это полезным?
Мне также интересны такие вещи, как имена папок и их отношение к пространствам имен.
Ниже перечислены мои личные цели для структуры проекта.
Цели
- Каждый проект должен быть достаточно автономным. То есть, я предпочел бы иметь возможность проверять каждый из них индивидуально и компилировать его (где разрешено зависимостями).
- Навигация по структуре должен быть простым.
- Структуры каталогов должны быть прозрачными и понятными в пространстве имен.
- Идентификация файлов решений должна быть простой.
-
Проекты должны строить с небольшим или никаким дополнительным усилием в Visual Studio (MSBuild) на большинстве или на всех уровнях иерархии
- Обратите внимание, что мое использование слова "проекты" здесь означает "усилия в области развития", за исключением случаев, когда явно указано.