查看原文
其他

前方 Bug 出没?盘他!

码农翻身刘欣 CSDN 2019-02-23

作者 | 刘欣

本文经授权转自公众号“码农翻身”

我是一个 Bug ,在这个系统中潜伏很久了,历经多轮测试的严酷考验而屹立不倒,如果 Bug 界按难度分类的话,我绝对属于地狱模式。

现在,我就等待一个倒霉蛋来触发, 可是他老是不来。

其实不能叫倒霉蛋 , 应该是幸运儿,能走到我这个分支,遇到我是他的荣幸。

和倒霉蛋儿对应的就是背锅侠,就是你,看文章的程序员。



有些 Bug 实在是太过明显,普通人一眼就能看出来,这批最先阵亡。

还有一些 Bug 需要特定的条件才能触发,随着时间的流逝,用户的增多,他们也逐渐牺牲。

只有像我这样,需要符合多个条件或者需要一些变态的条件才能触发的,才能坚持到最后,坚持到系统退役的那一天,这样我就能成为 Bug 界的传奇。

每个 Bug 想要在系统潜伏,都需要有个介绍人,这个介绍人就是程序员,他们的名字会出现在源文件当中,有些人还会写点注释,描述这次改动的目的,通常都是驴唇不对马嘴, 严重误导后来者,从而让更多的 Bug 潜伏。

我们 Bug 的生存性极强, 因为很多时候程序员改了一地方,却在另外一处引入了 Bug。 更有趣的是,他们修改了一个 Bug ,却引入了更多的新 Bug。

一天过去了,又一天过去了,看着潜伏在系统中的其他 Bug 被逐渐定位,发现,Fix。 

被 Fix 的时候通常是在半夜,听到程序员发出得意的笑声,我心生悲凉,半夜里被人从被窝里揪出来干掉了, 这潜伏的工作实在不是人干的。

尤其是我的上线被捕牺牲以后,我变成了一个人,孤苦伶仃。

我想到了余则成,他还有一批人和他一起奋战,掩护他,保卫他,他还有翠萍 ,我这里什么都没有,只有无尽的寒冷和黑暗。

也许我更像郑耀先,断线的风筝,随风飘荡。



有些线程时不时会从我面前的大路上通过,他们也很好奇: 这厮怎么这么孤独,几乎都没人搭理。

然后他们便看到了我的代码,吓得面如土色,双腿发软,踉踉跄跄而去。

不怪他们,我是个可怕的 Bug , 只是想触发我, 条件苛刻得有些变态:

  • 必须是某国家的用户

  • 必须是某年某月某日之后注册的

  • 必须得做一个特定的操作

  • ……

这一切都好说,关键一点是:必须在系统重启后率先登录系统。

然后,砰的一声,炸弹爆炸,系统瘫痪。

为了这一天的到来,我足足等了十年,人类的十年啊! 这里有多少毫秒你们知道吗?

原来的系统几乎不重启,后来不知道来了一个什么新需求,居然要求系统每天重启一次,说是要刷新数据, 这一下令我喜出望外, 我被触发的概率就大大增加了。



第一个倒霉蛋很快出现, 我激动得浑身发抖,一声巨响,系统崩溃了。

张大胖他们赶紧重启,没过几天,又是一声巨响,再次崩盘。

内存没有问题,没有 Out of Memory。

硬盘也没有问题,空间充足。

CPU、网络,都是好好的, 到底是这么回事? 为什么不停地崩溃?

程序员们抓狂了 ! 张大胖被逼疯了! 他看到一个故事:“超新星爆发时,爆炸会产生向所有方向散发的高能粒子。某些高能粒子可以击中计算机芯片,让 0 和 1 翻转!”   , 他以为自己的系统崩溃也是这样引起的!

码农翻身注: 这来自 Jeff Dean 的传奇故事。



他们检查每个需求,严酷拷打每一行改动过的代码,但是没什么鸟用,因为我都潜伏了 10 年了,根本不在最近的代码改动之列。

终于有人注意到了: 从每天重启服务器开始,就会时不时地崩溃。他们改变了策略,不再每天都重启,果然,情况变好了!不崩溃了。

这种诡异的关联更让他们抓狂了, 重启机器本来是解决问题的终极大法,现在这个终极大法居然是崩溃之源!

这种事情持续了一个月, 有一天张大胖睡眼惺忪地在看代码,改代码,突然间大叫一声:MD, 这里怎么有个 System.exit(0) , 这代码是谁 TMD 写的? !

联想到这一个月发生的灵异事件,他顺藤摸瓜,很快就找到了我这个大 Bug: 原来你小子在这里!

我被拉出来,五马分尸,被放到电子邮件中大肆宣传。

只是最初的责任人早已离职,具体去哪儿已不可考了。

这就是我的故事,很遗憾,我没有成为传奇。

*本故事纯属虚构,如有雷同,纯属巧合。

声明:作者独立观点,不代表 CSDN 立场。



 热 文 推 荐 

 微信“再罚”今日头条;马云:没有女性就没有阿里;有赞强推 996 工作制 | 极客头条

 AI 帮程序员找 Bug,一键快速预测

☞ 5G 已来,是否意味着 4G 淘汰?

“离开360时,它只给了我一块钱”

☞ 原子互换:一统公链江湖的神来之笔

☞ AI找Bug,一键快速预测

☞ 5G大规模商用来临之前,你必须知道的几个知识点

☞ 女程序员:我敲代码养家,老公负责貌美如花!

print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"

喜欢就点击“好看”吧!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存