给这个世界写代码的不是一个人,而是一个团队(这么大的项目,一个人开发不了)。并且严重怀疑这个一个开源项目。开发人员被我们觉得是神,所以一神论是不正确的,众神论才是真理,且凡人是有机会成为神的(參悟神道,直到你的神属性突破某个级别)。另外这个系统使用的应该是面向对象语言编译的。

如今来说Bug。

Bug事实上无处不在,可是众开发人员常常性的发bug fix,致使整个系统看上去正常执行。可是这些bug
fix是能够看出来的。比方:在一个文明发展到一个相当高的高度,要打破整个系统的平衡时,就会有一个补丁出来将其削弱甚至让它销往。比如四大古文明。其他三大在后期莫名归于平淡,而中国文明也经历了数次朝代更迭。更离奇的是玛雅文明,说没就没了,毫无预兆。应该是开发初期的时候以为的注重发展,却没有考虑到设计还有一种文明与之相制衡,于是开发人员仅仅能非常页面的添�一行“玛雅文明 = null;”。

回忆上个世界的几场大战。一战后,德国被榨干了,假设继续发展下去,非常有可能日耳曼民族就没了。于是在那样一种不合时宜的环境下,安排了一个不合时宜的人用不合时宜的政策引领了该名族的复苏。回头再看,在那么短的时间内,以一种扭曲的意识形态竟然能那么快速的发展一个国家,这就是在强行修复bug的行为。

相同让开发人员没有想到的是他们为了修复一个bug所引入的新的实例会有如此强烈的扩张性,以至于二战開始了,他们还没有来得及修复。然后眼看着一个强大且有野心的德国瞬间将它的几个邻国打得溃不成军。当然开发团队可能觉得这个并不可怕,顶多造成几个Exception,还不至于是Error,于是放任了一段时间,一直到东线战场德国人打到苏联。

这时问题来了,假设苏联被灭掉,那么当时世界上最大的社会主义阵营就会垮台。开发人员意识到这个阵营的垮台所带来的问题将会是连锁性的。由于马克思的那套理论正是在未来为了制约日渐成熟和强大的资本主义理论而设计的。苏联垮了,未来肯定一家独大。届时众人团结一致搞科研,势必非常快就将如今的系统实现反编译,然后改动源码又一次创造世界,于是这世界的运作将不再掌握在开发团队的手里。《圣经》的巴别塔桥段将会成真。所以,必需要阻止德国的扩张。

关于怎样阻止,我相信开发团队是有分歧的。最简单的方法无异于“轴心国 = null;”,可是问题也是显然的,这样设置以后垃圾回收系统提启动,曾经的日耳曼文明,罗马帝国的文明和日本留给后世的全部东西都没有了。未来到哪里去找优质的片源?且要怎样跟后世交代这样一段突然空白的历史(此时跟玛雅时代已经不同了)。于是开发团队的另外一种方案是”希特勒
= null;“,可是当时的纳粹已经不是仅仅要靠希特勒才干驱动了,他仅仅是个精神领袖。

所以,终于的结果是採用一些令人捉摸不透的方式,比如:苏联的斯大林格勒保卫战:如今已经无法想象当时的那样一帮苏联人怎样能够战胜德国人的虎狼之师,难道真的是几个狙击手(电影《兵临城下》桥段);美国參战:我们都知道是日本人炸了珍珠港引起了美国人參战,可是日本人会在这样一个时间点选择如此愚蠢的行为?Bug!并且,美国人假设要报仇,直接过太平洋找日本人就好了,为什么还要同一时候对德国宣战呢?你被邻居家的孩子打了,打邻居的孩子就好了,干嘛打个出租车到五环外跟他表哥打一架?Bug!

终于轴心国败了,可是三个国家都没有亡国,其文明得以保留,各自继续发展经济。所以,德国依旧有啤酒节,到意大利依旧能够看到梵蒂冈,而开发者还有优质的日本片源接着撸。一切看似归于平静。Bug从来都仿佛没有存在过。

所以假设你相信世界不是真实的而是一段代码,一定要明确,这样大的系统里,一定会有bug。可是不要试图寻找,由于你自己也是代码new出来的,你也是代码,你发现的bug非常快会被修复,且你不会记得不论什么与这个bug有关的事情。让你忘记bug也是修复bug所要做的事情。另外有人提到在两面镜子之间不断的做动作以期看到系统卡一下这种操作,建议不要去尝试。原因是:

  1. 这个系统如此的大,它的内存空间也不是你对着镜子挥几下手就会溢出的,须要正视我们每个个体在如此强大的系统前都是渺小的这一事实。
  2. 以前有人尝试过一天撸39次,结果预计系统真的卡了一下。然后开发人员非常快发现了这个Bug,于是他被赋值为null,非常快垃圾回收系统就把他给收了。相信开发团队的强大,当你给他们找到Bug的时候,你也会成为Bug。最初他们可以把你new出来,也可以把你变回null。
转自知乎 http://www.zhihu.com/question/20198823#answer-2131222


假设说这个世界不是真实存在的,仅仅是一段代码,迄今为止你发现了哪些bug?的更多相关文章

  1. 假设有两个包含整数的vector对象,编写一段程序,检验其中一个vector对象是否是另一个的前缀。

    #include<iostream> #include<string> #include<vector> using namespace std; int main ...

  2. Android - 通过真实案例学习解内存泄漏问题,最终发现Android原生Bug

    作为一个Android新手小白,刚到新公司,最近的工作就是在学习解各类Bug.转型之初,面临各种新知识,会有压力,但是学习的过程是快乐的. 上周刚遇上一类bug,就是应用的内存泄漏问题.最终通过前辈的 ...

  3. 假设写一段代码引导PC开机这段代码是 ? Here is a tiny &quot;OS&quot; :-D

    Hello world -- OS 我找到了华科绍志远博士的相关代码,发现他依据MIT的JOS的boot.S 稍作改动.然后单独剥离出来,能够非常好玩~ 资料下载地址: http://download ...

  4. web笔记全

    1.项目流程与数据库 1.课程体系 阶段1(服务器开发): 项目导入/数据库/JS基础/NodeJS 阶段2(前端核心技术): HTML/AJAX/CSS/bootstrap 阶段3(前端进阶技术): ...

  5. .NET中异常处理的最佳实践(译)

    本文翻译自CodeProject上的一篇文章,原文地址. 目录 介绍 做最坏的打算 提前检查 不要信任外部数据 可信任的设备:摄像头.鼠标以及键盘 “写操作”同样可能失效 安全编程 不要抛出“new ...

  6. .NET中异常处理的最佳实践(转)

    原文出处: CodeProject   译文出处:周见智的博客   欢迎分享原创到伯乐头条 介绍 “我的软件程序从来都不会出错”.你们相信吗?我几乎可以肯定所有人都会大喊我是个骗子.“软件程序几乎不可 ...

  7. 应用程序域 z

    应用程序域(AppDomain)已经不是一个新名词了,只要熟悉.net的都知道它的存在,不过我们还是先一起来重新认识下应用程序域吧,究竟它是何方神圣. 应用程序域 众所周知,进程是代码执行和资源分配的 ...

  8. NET中异常处理的最佳实践

    NET中异常处理的最佳实践 本文翻译自CodeProject上的一篇文章,原文地址. 目录 介绍 做最坏的打算 提前检查 不要信任外部数据 可信任的设备:摄像头.鼠标以及键盘 “写操作”同样可能失效 ...

  9. Python标准模块--importlib

    作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 1 模块简介 Python提供了importlib包作为标准库的一 ...

随机推荐

  1. C++临时对象销毁时间

    下面这段代码会输出什么? const char* p = string("hello temprary string").c_str(); cout << p; 下面这 ...

  2. delphi SysErrorMessage 函数和系统错误信息表 good

    在看 API 文档时, 我们经常见到 GetLastError; 它可以返回操作后系统给的提示. 但 GetLastError 返回的只是一个信息代码, 如何返回对应的具体信息呢? FormatMes ...

  3. pagespeed 安装(chrome版和firefox版)

    原文地址:http://blog.sina.com.cn/s/blog_6c9da636010103va.html pagespeed  让你的网站页面打开速度飞起来! 1.firefox版本下的安装 ...

  4. 面试题25:最小的K个数

    方法一:对n个整数进行排序(快速排序或堆排序),取出前K个元素(最容易想到的最笨的方法,不可取) 时间复杂度:O(n*logn) + O(k) = O(n*logn) 采用快速排序的代码: #incl ...

  5. sctf pwn300

    拿到程序后,拉入IDA,大概看了一番后,尝试运行,进一步了解程序的功能. 发现NX enabled,No PIE. 一号是一个猜数字的游戏,二号是一个留言本,三号是打印出留言的内容,四号是退出. 观察 ...

  6. CSS3 border属性的妙用

    .ribbon { background: #45c9c8; position: absolute; width: 75px; height: 25px; line-height: 25px; top ...

  7. sql server存储过程分页

    Create PROCEDURE [dbo].[Table_GetList] ) = '', -- 查询条件(注意: 不要加 WHERE) ) = '', -- 设置排序 , -- 页尺寸 , -- ...

  8. 通过url给action传中文参数乱码解决方案

    比如: http://localhost:8080/projectName/dutyCondition.action?admitstate=0&currentStep=我的博客 传到后台的时候 ...

  9. 项目中怎么去掉tomcat的猫

    其实很简单,需要在登录页和显示内容的主页,将自己的favicon.ico 导入,并在登录页和主页将其引入即可. 例如: 接着在登录页引入  <link rel="shortcut ic ...

  10. 图片压缩上传 Android

    图片压缩的话 想保持 图像清晰度,但是又想保持图片的大小在100k左右. 同时的话又不想自己写那些压缩的代码的话.那你就找对地方了. 提供一个思路. 先读取你的文件,然后读到bitmap里面进行尺寸裁 ...