伟大的软件设计和实现的例子

时间:2009-02-18 01:26:08

标签: design-patterns oop open-source tdd solid-principles

我希望这不是重复...

您遇到的最完善的软件系统/框架/应用程序是什么?

似乎TDD,SOLID原则,OO设计模式以及类似的东西可以使用非常简单的示例在播客和博客上轻松理论化,但很难想象开发完全符合这些标准的大型系统,而不是爆炸的代码。在我的公司,由于我们的时间限制,完全TDD似乎几乎是不可能的。

如果有人能指出我的任何优秀的开源项目,我真的很想深入了解TDD / SOLID等等。好像。感谢。

8 个答案:

答案 0 :(得分:7)

航天飞机软件?

They Write the Right Stuff

  

但该软件的工作量是多少   不是什么使它显着。什么   令人瞩目的是它的表现如何   软件工作。这个软件从不   崩溃。它永远不需要   重新启动。该软件没有错误。   它是完美的,和人类一样完美   众生已经实现了。考虑这些   统计:最后三个版本   程序 - 每个420,000行长   每个只有一个错误。最后11   该软件的版本总计   17个错误。商业计划   相当的复杂性将有5,000   错误。

答案 1 :(得分:4)

的TeX?

Knuth仍在提供reward for confirmed bugs


BTW:我不确定Knuth是否订阅任何流行语机制来进行真正强大的开发。不知道他是怎么做到的。也许只关注细节。

答案 2 :(得分:4)

.NET Framework。

  • 当我“点入”命名空间并且其成员正是我期望的时候,这很棒。
  • 它“Just Works”。

答案 3 :(得分:2)

提升图书馆

答案 4 :(得分:2)

其他许多帖子都提到了没有用TDD实现的程序,因此没有给出答案“我真的很想深入研究TDD / SOLID等等。 “例如,我非常肯定Apache HTTPD Server和Firefox的源代码从未见过TDD。我只浏览了一些他们的来源,测试文件夹中只有几个小文件,而且生产代码看起来不像是用TDD编写的,也不是跟随SOLID编写的。

例如,Fitnesse是由SOLID的发明者使用TDD编写的。这应该是这些代码看起来很好的参考,特别是代码的新部分(在他的书Clean Code中,Bob叔叔有一些来自Fitnesse的错误代码的例子,然后他清理了,所以不一定Fitnesse的所有代码都很干净。

我还会投入我自己的项目Dimdwarf Application Server,该项目已使用TDD / BDD 100%编写并尝试尽可能编写干净代码(遵循SOLID等)。那里也有一些丑陋的部分(主要是在任务调度和垃圾收集中),但这些部分仍在工作中,并且在这些功能完成时它们将被清理。

答案 5 :(得分:0)

谷歌浏览器

答案 6 :(得分:0)

Firefox 2.0

  • 简单用户界面
  • 强大的功能
  • 非常稳定

答案 7 :(得分:0)

Apache httpd。

  • 清洁
  • 简单
  • 功能

:Graphviz - 功能,一致性和简洁性的绝佳示例。

我见过的最好的代码是合适的;它已被用于真正优雅和美丽的事物。但遗憾的是,它必须保持匿名。

BTW 可以简化的任何巨大的界面/ api,根据定义并非完全设计。对于许多公司来说,丑陋的界面只能更大丑陋

保罗。