У нас есть решение ~ 250 проектов.
Это нормально, после установки патча для Visual Studio 2005 для быстрой работы с очень большими решениями [TODO add link].
У нас также есть решения меньшего размера для команд с выбором их любимых проектов, но каждый добавленный проект также должен быть добавлен к основному решению, и многие люди предпочитают работать с ним.
Мы перепрограммировали ярлык F7 (сборка) для сборки запускаемого проекта, а не всего решения. Так-то лучше.
Папки решений, похоже, решают проблему поиска вещей.
Зависимости добавляются только к проектам верхнего уровня (EXE и DLL), потому что, когда у вас есть статические библиотеки, если A является зависимостью от B, а B является зависимостью от C, A часто может не быть зависимостью от C (чтобы сделать вещи компилируются и работают правильно), и таким образом круговые зависимости подходят для компилятора (хотя и очень вредны для психического здоровья).
Я поддерживаю использование меньшего количества библиотек, даже если есть одна библиотека с именем «библиотека». Я не вижу значительного преимущества оптимизации объема памяти процесса за счет предоставления «только того, что ему нужно», и компоновщик должен делать это в любом случае на уровне объектного файла.
person
Pavel Radzivilovsky
schedule
27.06.2010