20

我希望这不是重复...

您遇到的设计和实施最扎实的软件系统/框架/应用程序是什么?

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

如果有人可以向我指出任何好的开源项目,我真的很想深入了解一下有什么好的 TDD/SOLID/等。好像。谢谢。

4

8 回答 8

7

航天飞机软件?

他们写了正确的东西

但该软件做了多少工作并不是让它引人注目的原因。它的显着之处在于该软件的运行效果。这个软件永远不会崩溃。它永远不需要重新启动。该软件没有错误。它是完美的,就像人类已经达到的那样完美。考虑一下这些统计数据:该程序的最后三个版本——每个 420,000 行长——每个都只有一个错误。该软件的最后 11 个版本共有 17 个错误。同等复杂度的商业程序会有 5,000 个错误。

于 2009-02-18T02:43:48.243 回答
4

特克斯?

Knuth 仍在为确认的错误提供奖励


顺便说一句:我不确定 Knuth 是否赞同任何流行语机制来进行真正强大的开发。不知道他是怎么做到的。也许只是注意细节。

于 2009-02-18T01:37:54.237 回答
4

.NET 框架。

  • 当我“点入”一个命名空间并且它的成员正是我所期望的时,这很棒。
  • 它“正常工作”。
于 2009-02-18T01:38:12.813 回答
2

升压库

于 2009-02-18T01:27:28.910 回答
2

许多其他帖子都提到了尚未使用 TDD 实现的程序,因此没有回答“我真的很想深入研究,看看好的 TDD/SOLID/等是什么样的。” 例如,我非常肯定 Apache HTTPD Server 和 Firefox 的源代码甚至从未见过 TDD。我只是浏览了一点他们的资源,测试文件夹中只有几个小文件,生产代码看起来不像是用 TDD 或遵循 SOLID 编写的。

例如,SOLID 的发明者使用 TDD 编写了Fitnesse 。这应该是此类代码外观的一个很好的参考,尤其是代码的较新部分(在他的书Clean Code中,Bob 大叔有一些来自 Fitnesse 的坏代码示例,然后他将其清理掉,因此不一定所有代码都在Fitnesse很干净)。

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

于 2009-03-06T16:38:02.380 回答
0

谷歌浏览器

于 2009-02-18T01:32:28.040 回答
0

火狐2.0

  • 简单的用户界面
  • 强大的功能
  • 非常稳定
于 2009-02-18T02:00:45.443 回答
0

阿帕奇 httpd。

  • 干净的
  • 简单的
  • 功能性

另外:Graphviz - 强大、一致性和简单性的绝佳示例。

我见过的最好的代码是礼节;它已被加工成真正优雅和美丽的东西。但遗憾的是,它必须保持匿名。

顺便说一句:任何可以简化的巨大接口/api,都不是根据定义设计的。而对于许多公司来说,大而丑陋的界面只会变得越来越大

保罗。

于 2009-02-18T02:13:17.583 回答