代码之家  ›  专栏  ›  技术社区  ›  Mike

什么是一个具有优秀设计的小型开源项目?[关闭]

  •  14
  • Mike  · 技术社区  · 14 年前

    我在找一些小项目(5000到25000行),比如Java,C语言,C++,露比,或者Python。这些项目应该展示出优秀的架构和设计原则。这样做的目的是为了找到好的模型来学习,而不是在接下来的10年里被撞倒,直到我学到这些经验教训。

    编辑: 谢谢你的回复。我会试着把它们全部看完,看看哪一个是最容易理解的。这需要一段时间。不过,别担心。我接受一个。

    5 回复  |  直到 10 年前
        1
  •  4
  •   peter.murray.rust    14 年前

    6月3日8时 http://www.junit.org/node/363

    来自Dirk Riehle: “JUnit 3.8设计文件 2008年5月14日星期三-06:24 Driehle

    JUnit越来越多地用于科学案例研究。这是因为它相对较小,知名度高,而且是自给自足的。对于任何对JUnit 3.8如何工作的详细设计文档感兴趣的人,我已经记录了其设计。我之所以选择JUnit3.8,是因为在4.0中改为注释可能使JUnit更易于使用,但设计不太清晰(以面向对象的术语)。JUnit不是唯一一个常见的案例研究,Jhottraw是另一个。如果您有其他的案例研究,并且有详细的设计文档,我很想听听您的想法!”

    以及来自 http://dirkriehle.com/2008/04/03/junit-38-documented-using-collaborations/

    摘要:本文介绍了JUnitv3.8单元测试框架的设计。使用的文档技术是基于协作的设计的增强版本,也称为角色建模。在基于协作的设计中,对象被视为在不同的上下文中扮演多个角色,不同的上下文被视为特定于任务的协作。文档通过将JUnit3.8框架中的每个方法分配给一个角色来说明它。因此,它研究角色和协作是否可以作为框架这样的设计提供的基本功能单元。这种功能度量可以有多种用途,例如估计实现工作或度量复杂性。”

        2
  •  1
  •   Mitch Wheat    10 年前

    C4F Developer Kit

    套件功能包括拖放控件和组件, 所有工具的智能标记、Visual Basic和Visual C源代码以及 示例以及完整的快速入门和API文档。

        3
  •  0
  •   CurtainDog    14 年前

    我不能给你具体的信息,但最好的来源(双关语)是你实际使用的东西。如果您有权访问平台标准库的源代码,请将其签出;如果您使用开放源代码应用程序,请同时签出这些库的代码。

    它们可能会远远超出您的行限制,但是如果您作为一个用户和一个程序员与代码进行实际交互,那么您将更加欣赏设计决策。

    也要注意文档。根据我的经验,具有良好文档的程序也更有可能拥有真正经过深思熟虑的代码。

        4
  •  0
  •   Adrian K    14 年前

    好吧,在过去的几年里,我一直在整理一个开源的ASP.NET CMS/Web应用程序框架。

    我一直在努力坚持好的设计原则和模式,但我并没有让任何人“验证”它,所以你只得到了我的(希望不是太自吹自擂)意见。我已经下载了700多个,没有坏的反馈-所以我只能猜测我什么都没做。 那个 错了。

    有意遵循/实施的模式和原则包括:

    • 依赖倒置(as discussed here )
    • 惰性负载
    • 单一责任原则
    • 稳定相依性原理
    • 稳定抽象原则
    • 界面分离(至少达到一个点!)

    我的解决方案称为morphfolia,可从codeplex获得: http://morphfolia.codeplex.com

    我不确定它在代码行方面有多大,但是下载量非常小。

        5
  •  0
  •   WorldIsRound    14 年前
    推荐文章