2010-12-01 32 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等),再加上持續集成的解決方案的項目。包含多個項目的大型解決方案的一個缺點是編譯時間 - 但它確實有助於瞭解是否搞亂了一個組件,最終打破了不相關的解決方案/項目。

相關問題