2008-12-03 52 views
5

什麼是Visual Studio 2008解決方案中的最佳項目數量?什麼是Visual Studio 2008解決方案中的最佳項目數量?

我們有一個Visual Studio 2008解決方案,現在大約有50個項目。隨着解決方案中的大部分項目由主應用程序的插件程序集組成,它可能會繼續增長。

如果它看起來像一個解決方案「的項目太多」,那麼你將如何去確定哪些項目應在解決方案中組合在一起?鑑於我們在一個解決方案中提供了大約50個項目的示例,其中大部分項目是插件並且插件的數量可能會增長,解決方案應該如何構建?所有的插件應該放在他們自己的解決方案中嗎?當插件解決方案中的插件數量達到「太多」的幻數時,組織應該如何改變?

我們在解決方案中的許多項目中沒有任何問題......它加載速度快,構建速度快,使用合理的內存量,並且不會導致VS2008崩潰或碰撞VS2008的錯誤。

我看了文件從微軟(似乎沒有被任何)和谷歌搜索一代產量從建議「每一個項目都有自己的解決方案」,「把所有的項目在一個單一的解決方案。」這兩個極端似乎都是荒謬的。我正在尋找一些合理的指導。

已經有相關的maximum你見過#2的其他問題。這與最佳狀況不盡相同。

回答

3

這類似於諸如「我應該在課堂上應該具備多少功能?」等討論。和「每個枚舉應該在自己的.cs文件中定義?」。

我很想知道你的每個項目有多少個類。您可以將您的課程,項目和解決方案視爲組織單位。他們在那裏讓你的生活更輕鬆,並讓你(和你的團隊)把整個項目分解成可管理的概念塊。

如果VS2008不抱怨,並且您和您的開發人員在一個解決方案中對50個項目沒有問題,那麼我不會擔心它。這就是說,它聽起來像一個相當大的數字 - 但是我們對整體代碼庫的大小一無所知,因此很難進一步評論。

+0

Stack Overflow [說他們](http://highscalability.com/blog/2014/7/21/stackoverflow-update-560m-pageviews-a-month-25-servers-and-i.html): _只有9個項目,其他系統有100個。有這麼幾個項目的原因是編譯閃電般快,這需要在開始時進行規劃。在一臺計算機上編譯需要10秒鐘。考慮到這一點,從編譯速度的角度來看,50個項目並不理想。 – 2016-04-22 14:06:29

4

我想說,您的系統上每層至少需要1個項目。如果你需要更多的項目,也許這是一個設計問題。這意味着您可以「設計」或「設計」應用程序。

我nowdas使用以下層:

數據層 - 負責底層數據結構(數據庫)。在這個項目中有最新的LINQ和部分類的情況。

接口 - 擁有所有接口層,這幫助extendabillity並不必依靠一些其他層使用這些接口。

邏輯 - 這定義本身,業務邏輯

GUI /前 - 在圖形用戶界面(代碼)

這些層的最低限度的其它層,可以是可能的。將本地化和其他項目,該項目可能會增長。

但是rahter簡化了目錄和名稱空間,而不是使用許多項目!

+0

並非如此簡單。層可以(並且通常應該)被分解成組件,即數據層可以具有抽象(通用)部分和一個或多個具體實現。擁有一個接口程序集也可能導致向系統的未使用部分添加依賴關係。 – user3285954 2015-06-03 16:04:53

0

顯然,當你到了500,然後你開始看「太多」它變得不切實際,甚至對其進行管理。

我可能會建議您分析「真正構成了我的應用程序」並將其作爲單一解決方案進行打包。插件很少被認爲是基本應用程序的一部分,但附加到基本功能。

如果應用程序在沒有特定插件的情況下停止使用,那麼將其包含在基本解決方案中。

其他插件可能會在流派中分組......非常類似iPod上的播放列表。每個插件在更一般的層面上都取得了什麼? (這些顯然是修辭問題)我會將自然組中的插件組合在一起,就像PhotoShop插件在菜單上分組一樣。它們是否會影響3D,它們是否會影響顏色,它們會影響幾何效果,它們是否會影響失真等等。

0

當我看到放緩時,我傾向於創建一個解決方案,該解決方案引用了依賴項目的內置版本(程序集),而不是項目文件(對於任何不需要查看源代碼的項目) 。我只爲我正在開發的項目打開源代碼 - 當然,沒有人需要同時處理50個項目的來源。

如果您已經引用了依賴程序集而不是源代碼,那麼我認爲這只是一個問題或組織偏好(以最容易理解和維護的方式組織)。

相關問題