2013-05-08 48 views
2

你将如何设计一个不可能的错误?它甚至有可能吗?工程不可能的错误?

举一个简单的例子:Bob需要为他热门的互联网博客添加评论功能。它每月获得数百万的访问者,并且已经有数千个帖子。如果他聘用了你,你会如何实现这个功能?

你可能会在负责渲染帖子的页面末尾添加一个表单,对吗?它几乎是常识。 (为了简单起见,请勿忘记安全性)

但是,该解决方案对于Bob的博客如何工作假设太多。

让我们说让Bob的博客的人讨厌Bob。他想要建立一个系统,在没有从零开始完全重写的情况下不能实现新功能。

如果你是一个讨厌鲍勃的人,你会如何创建一个这样的系统?您不限于特定的语言,框架,操作系统,服务器软件,体系结构或任何其他内容。所有你需要做的是提供工作的博客页面给连接到你的服务器的客户端。

还假定鲍勃会做你告诉他的任何事情。如果他不得不将新的手写博客文章发送到离岸处理中心,他就会这样做。

而在任何人问起之前,不,我不会问这个问题,因为我想要拧一个客户端。我想这就像一个练习。我们已经习惯了不应该破坏的工程代码,但我们将如何执行不应该工作的工程代码?就像错误是不可避免的一样,解决方案同样是不可避免的吗?创建这种反转代码就像编写常规代码一样难吗?如果我们能够创建无法修复的代码,是否意味着我们可以创建无法破解的代码?

+1

有趣的问题与正确的标签,但这可能更适合http://programmers.stackexchange.com/ – darkpbj 2013-05-08 16:37:56

+0

错误是无意的。如果你试图使一些难以使用的东西,那么这是一个功能,而不是一个错误! – 2013-05-08 16:54:11

回答

0

因为博客平台本身是相当耗材的,所以我认为唯一能够不可逆转地瘫痪Bob的网络存在的错误必须是针对内容或Bob自己的错误。这方面的一些例子是将唯一的终端放在允许Bob在满是狮子的笼子里张贴,或者说服互联网向DDoS说明与Bob的博客写在同一主题上的每个博客。

这就是说,只要鲍勃是一个公共咖啡馆和图书馆免费上网的自由世界的公民,我不认为有可能引入一个如此糟糕的bug,以至于鲍勃的博客不能成为可能出版。

0

让我们说让Bob的博客的人讨厌Bob。他想要建立一个系统,在没有从零开始完全重写的情况下不能实现新功能。 如果你是那个讨厌鲍勃的人,你会如何创建一个这样的系统?

我会在Malbolge中创建博客系统。