Около года назад наша компания выпустила относительно большой пакет программного обеспечения, написанный в основном двумя старшими разработчиками. Для удобства демонстрации я назову его «проект А». С тех пор мы работаем над новым программным пакетом «проект B», а его дерево является филиалом проекта A.Объединение основных библиотек
Проект B имеет ссылку на проект A, но теперь, когда мы приближаемся к концу проекта B, нам также нужно ссылаться на B от A. Итак, после слияния ветвей A и до того, как вы живете с B, мы хотели бы объединить основные библиотеки между этими двумя проектами.
Каковы некоторые переживания, которые у вас были с этим типом ситуации? Каковы некоторые лучшие практики и уроки, извлеченные в этом проекте? Как лучше всего объединить основные библиотеки с минимальным воздействием на остальную часть исходного кода в проекте A?
EDIT: Каково Ваше мнение о целесообразности сохранения пространств имен Проект A, но местонахождение кода в основной библиотеке Проект B (который в конечном счете станет основной библиотекой компании)? Оттуда просто обратитесь к новой библиотеке основной компании в устаревшие проекты ...
EDIT 2: Спасибо за ответы. Может быть, немного более техническое разъяснение в порядке. Оба эти проекта очень тесно связаны, но каждый из них имеет свой собственный проект библиотеки классов .NET для основной библиотеки. Кроме того, на каждую библиотеку ссылаются другие различные .NET-проекты; внутренние и внешние веб-приложения, приложения форм и т. д. Больше моего вопроса заключается в том, где должен жить исходный код - я не верю, что они должны оставаться двумя отдельными .NET-проектами, но в одном проекте содержатся оба, сохраняя существующие пространства имен изначально , По мере продолжения разработки мы будем реорганизовывать, комбинировать пространства имен, устранять дублирующиеся функциональные возможности и т. Д. Несомненно, функциональность, содержащаяся в обеих существующих библиотеках, будет полезна в будущих проектах, а также возникает необходимость делиться между существующими «основные» библиотеки.
Да, циркулярные ссылки были первоначальной проблемой. Несмотря на то, что проекты рассматривались отдельно, они очень взаимосвязаны и должны быть тесно интегрированы. Я считаю, что на самом деле будет минимальное перекрытие в пространствах имен, и некоторое префикса определенно будет ответом. – Aaron