Я помогаю управлять внешней командой, которая начинает разрабатывать новые версии некоторых существующих продуктов. Исторически сложилось так, что эта команда всегда использовала модель одного проекта в одном решении для примерно 30 модулей в Visual Studio, которые объединяются для создания развертываемой сборки.
Это отрицательно сказывается на надежности и качестве сборки, поскольку они не всегда отправляют нам самый последний исходный код. Мы пытаемся заставить их объединить весь ссылочный код в единое решение, но мы получаем некоторое сопротивление - в частности, они продолжают говорить об увеличении взаимозависимости между модулями (читай «проекты» в Visual Studio), если все помещено в один файл решения. Ни один код в отдельных решениях не используется в других местах.
Я настаиваю на том, что это чепуха, и хорошие шаблоны развития позволят избежать любой такой проблемы.
Рассматриваемая команда также выполняет исправление ошибок и разработку новых функций для существующего продукта, опыт которого был, мягко говоря, чреват и страдает от одной и той же проблемы разделения на несколько решений. Нам было отказано в доступе к их исходному контролю ( TFS ), и подход, который мы применяем для унификации кодовой базы, состоит в том, чтобы попытаться и, по крайней мере, уменьшить количество пропущенных обновлений и больше, чем случайные регрессии (да, исправляются исправленные ошибки. - введен в продукт), сказав: «отправьте нам ZIP-файл всей папки решения, чтобы мы могли распаковать его, открыть в Visual Studio и нажатьF5 для тестирования ". С точки зрения общей структуры и качества, код довольно скудный и его трудно поддерживать. Именно поэтому я намереваюсь выстроить рабочие процессы на самом раннем этапе цикла разработки, насколько это возможно.
Я что-то упускаю? Есть ли когда-нибудь веская причина держать весь этот код отдельно? За мои деньги это должно быть настолько веской причиной, что это станет общеизвестным, но я более чем готов признать, что я не знаю всего.