2010-11-04 92 views
14

我正在尋找諸如Java,C#,C++,Ruby或Python等語言的小型項目(5,000 - 25,000行)。這些項目應該展現出色的架構和設計原則。這樣做的目的是爲了找到好的模型來學習,而不是在未來的10年裏把頭撞倒,直到我學習這些課程。什麼是具有卓越設計的小型開源項目?

編輯:感謝所有的答覆。我會嘗試通過所有這些,看看哪些是最容易理解的。這會花費我一段時間。不過不要擔心。我會接受一個。

回答

4

JUnit 3.8的http://www.junit.org/node/363

從德克·裏勒: 「JUnit 3.8的設計文檔 星期三,2008年5月14日 - 06:24 - driehle

JUnit是越來越多地被科學案例研究使用那。因爲它比較小,很有名,而且是獨立的,對於任何對JUnit 3.8工作原理的詳細設計文檔感興趣的人,我已經記錄了它的設計,我選擇了JUnit 3.8,因爲在4.0中移動註釋可能有使JUnit使用起來更加方便,但設計不太清晰(以面向對象的方式).JUnit不是唯一的常見情況tudy,JHotDraw是另一個。如果你有證據充分的設計,更多的案例,我很想聽到它「

http://dirkriehle.com/2008/04/03/junit-38-documented-using-collaborations/

」摘要:本文介紹了單元測試框架的JUnit V3.8設計。採用的文檔技術是基於協作的設計的增強版本,也稱爲角色建模。在基於協作的設計中,對象被視爲在不同的環境中扮演多重角色,而不同的環境被視爲特定於任務的協作。該文檔通過將其分配給角色來說明JUnit 3.8框架中的每種方法。從而調查角色和協作是否可以作爲像框架這樣的設計提供的基本功能單元。功能這樣的措施可用於多種用途,例如估計執行工作或測量的複雜性。」

+0

在過去兩年使用jUnit之後,我寧願不理它。我的寵物說它是它的設計選擇,在單獨的實例中實例化每個測試,從而迫使你的「預夾具」變量是靜態的。 – ripper234 2010-11-05 00:18:52

+0

謝謝!謝謝!!謝謝!!不管喜不喜歡,我都會喜歡通過設計筆記。它們非常罕見。 – pyfunc 2010-11-05 00:25:18

1

C4F Developer Kit

的試劑盒的特徵包括可拖放控件和組件, 智能標記,對所有的工具和 樣品Visual Basic和Visual C#源代碼,以及完整的快速入門和API文檔。

0

我不能給你具體細節,但最好的來源(雙關語意)是你實際使用的東西。如果您有權訪問平臺的標準庫的源代碼,請檢查它們,如果您使用的是開源應用程序,請查看這些代碼。

他們很可能會遠遠超過你的線路限制,但如果你真正的代碼作爲用戶和程序員互動你會來這麼多欣賞的設計決策。

,請注意文檔以及。根據我的經驗,具有良好文檔的程序更有可能具有真正深思熟慮的代碼。

0

那麼有,我已經在過去的幾年裏放在一起的開源CMS ASP.NET/Web應用程序框架。

我已經非常努力地遵守良好的設計原則和模式 - 但它不像我已經得到了任何人「驗證」,所以你只有我的(有希望不是太自我膨脹)意見。我已經有超過700次下載並沒有不良反饋 - 所以我只能猜測我沒有做任何事錯了。

的模式和原則故意隨後/實現包括:

  • 依賴倒置(如discussed here
  • 延遲加載
  • 單一職責原則
  • 穩定依賴原則
  • 穩定抽象原理
  • 接口隔離(到lea的點!ST)

我的解決方案被稱爲Morphfolia,並在CodePlex上:http://morphfolia.codeplex.com

我不知道它是在代碼行方面有多大,但下載是非常小的。

相關問題