Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 优秀软件设计和实现的示例_Design Patterns_Oop_Open Source_Tdd_Solid Principles - Fatal编程技术网

Design patterns 优秀软件设计和实现的示例

Design patterns 优秀软件设计和实现的示例,design-patterns,oop,open-source,tdd,solid-principles,Design Patterns,Oop,Open Source,Tdd,Solid Principles,我希望这不是复制品 您遇到的设计和实现最可靠的软件系统/框架/应用程序是什么 似乎TDD、坚实的原则、OO设计模式以及诸如此类的东西都可以在播客和博客上用非常简单的例子轻松地进行理论化,但很难想象在没有大量代码的情况下开发出完全符合这些标准的大型系统。在我的公司,由于时间限制,完成完整的TDD几乎是不可能的 如果有人能给我指出任何好的开源项目,我真的很想深入研究,看看好的TDD/SOLID/等等是什么样子。谢谢。Boost库googlechromeTeX 克努特仍在提供这项服务 顺便说一句:我

我希望这不是复制品

您遇到的设计和实现最可靠的软件系统/框架/应用程序是什么

似乎TDD、坚实的原则、OO设计模式以及诸如此类的东西都可以在播客和博客上用非常简单的例子轻松地进行理论化,但很难想象在没有大量代码的情况下开发出完全符合这些标准的大型系统。在我的公司,由于时间限制,完成完整的TDD几乎是不可能的


如果有人能给我指出任何好的开源项目,我真的很想深入研究,看看好的TDD/SOLID/等等是什么样子。谢谢。

Boost库

googlechrome

TeX

克努特仍在提供这项服务


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

在.NET框架中

  • 当我“点进”一个名称空间,它的成员正是我所期望的,这是非常棒的
  • 它“只是起作用”

Firefox 2.0

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

  • 干净的
  • 简单的
  • 功能性
还有:Graphviz-一个强大、一致和简单的绝佳例子

我所见过的最好的代码是礼节;它被加工成了一件真正优雅美丽的东西。但不幸的是,它必须保持匿名

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


保罗。

航天飞机软件

但是这个软件能做多少工作是很重要的 不是什么让它引人注目。什么 值得注意的是 软件工作。这个软件永远不会 撞车。不需要这样 重新启动。这个软件没有bug。 它是完美的,和人类一样完美 人类已经取得了成就。考虑这些 统计:最新三个版本的 程序——每42万行长 每个错误只有一个。最后11名 此软件的版本总数为 有17个错误。商业节目 同等的复杂度将有5000 错误


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

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


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

我很喜欢chrome,但linux之爱在哪里?这是我在chrome上唯一真正的问题。他们修复了beta版的所有崩溃/冻结错误吗?我似乎记得这段代码是用很多正式的证明方法开发的。有人能证实或否认吗?等等,什么?机器人?马厩?不行,何塞!对我来说很好。。。当然比InternetExplorer6要好/7@Element,一切都比InternetExplorer6/7好。Andy要求提供两件事:健壮软件的示例,以及使用TDD开发的非常好的代码的示例。一些更好的例子没有使用TDD这一事实并不能证明TDD是不好的,但确实证明了它是不必要的。YMMV;最近以TDD名义正式化;等