2010-12-01 31 views
0

我们正在开发一个大型应用程序,其中包含大约100个项目(40个视图,40个控制器/模型,20个实用程序库)。我们已经将大部分工作外包出去了,交付成果也是相当随机的。每个项目有1个解决方案是否存在任何缺陷

当我们拿到一个可交付(一期工程),我们需要它提交到源代码控制之前运行的FxCop,了StyleCop,相关的单元测试,等等,等等。为了使这更容易,我们已经要求每个项目都有一个解决方案文件。这使我们可以简单地运行在其上检查之前测试中,它的解决方案文件自动运行的脚本。

我的问题是“你能想到的任何缺点的具有用于每个项目1个解决方案?”。我们已经讨论

缺点包括:

  1. 开发商需要额外的维护。这并不妨碍我们,因为我们已经通过固定价格合同外包了开发。
  2. 解决方案文件中的SourceSafe绑定。这可能是一个很大的问题,但幸运的是我们大约一年前迁移到了TFS。

回答

0

我们在最后发现了一个缺点。我们所有的项目都在Visual Studio 2008中。如果我们想将一个项目升级到Visual Studio 2010,我们意识到我们几乎肯定需要升级每个其他项目(因为它们都是直接或间接的依赖或依赖于, 彼此)。

1

我们在一个类似的船上,有大约200个项目,其中很多都是常用的项目,涵盖了各种尺寸的各种解决方案。

虽然缺点是加载时间,一个好处是调试 - 即如果你的代码是调用到其他组件,那么它很高兴在同一个解决方案的所有。

另外,我们做保留我们的单元测试和集成测试与我们的核心项目(DLL或EXE)都在同一个解决方案一起,所以即使是在我们至少有百分之三解裸露的骨头模板。

最后,我想说一个通用的解决方案的最大优势归结为跨项目的调试,国际海事组织。但是除非至少有这个或者其他令人信服的理由,否则我绝不会把它们一起扔到一起。

在一个侧面说明 - 我们不允许不适合你上面提到的原因(运行的FxCop等),再加上持续集成的解决方案的项目。包含多个项目的大型解决方案的一个缺点是编译时间 - 但它确实有助于了解是否搞乱了一个组件,最终打破了不相关的解决方案/项目。

相关问题