当代码遇上玄学……
为什么 bug 天天出现?
为什么 bug 遥遥领先?
一杯茶,一包烟,一个 bug 找一天。
问:程序出现 BUG 的时候,程序员能做什么?
答:烧香拜佛看运势。
有人相爱
有人在夜里看海
有人在凌晨三点将充满 bug 的代码改了又改
点击运行却依然显示失败……
程序员群体有这样一条法则:代码能跑起来,千万不要再动它了。
01 他们都相信玄学
我是小 ZA,一名混迹在外滩金融圈的程序员。每天我必不可少的事情就是:找 bug,修 bug。因此我对“世界上最遥远的距离不是生与死,而是我亲手创造的 bug 却发现怎么也找不到它。”这句话深有感触。
我最近发现了一个神奇的现象。很多程序员都把希望寄托于玄学。
程序员小 A 说:“我们团队通常会在项目上线前拜一拜,保佑项目上线当天不出问题。但是通常会有一个铁律,正式上线的头一天/一周内运行良好,意味着将来在高关注度消失之后,一定出现无法解决的 bug。”
“代码没有问题,就是运势有问题。在注释上打下“佛祖”就能够保佑代码成功跑起来。”这是程序员小 B 给我分享的方法。
上个月程序员小 C 的绩效格外好,然而他的工位上贴满了“永不宕机”的标签。
前几天跟同事小 D 聊天的时候也听到他讲:“以前对玄学嗤之以鼻,不相信有,就算有也觉得人定胜天,但现在岁数上来再回看以前发现有时候真的倒霉的说不通,所以慢慢相信了玄学这一说,打算去上香了。”
程序员小 E 说:“如果代码的尽头不是玄学,那么一定是有人改了我的代码。”
不过拜拜好像也没啥大事儿,毕竟国外还请牧师给服务器做法。就在前两天我还看到有人在网上开了代码命理培训班。
02 他们相信玄学≠他们不相信科学
这一切都在指引着我往神秘莫测的方向思考。莫非,科学的尽头真的是玄学?或许只有在每天与 bug 奋战的程序员们才能深刻理解。虽然他们天天搞玄学那一套,但我还是想知道他们内心真正的想法。有必要采访一下我的程序员同事了。
众安前端开发徐翔:“我还是相信逻辑,bug 出现的原因是由于逻辑偏差引起的,它是可以用合理的方法去解决的。玄学已经超脱程序员的思维和考虑范畴了”
众安运维陈凡青:“还是要相信科学。”
众安图像识别刘邦贵:“每次科技的进步都是人与计算机之间相互配合的结果,修 BUG 就是这样的一个过程。”
听到他们简略而又肯定的回答,我深深地明白他们的内心更加偏向于科学。是的。玄学在代码中是不应该存在的。很多时候,只是我们没有考虑周全,就像当初 bug 命名者格蕾丝·赫柏,她又怎么能想到造成机器宕机的原因是一只飞蛾呢?
既然如此,为什么还会有程序员将修 bug 寄托于玄学?
其实原因也不难解释,“祈求项目上线当天一切顺利”、“贴满永不宕机标签”、在注释中加上“佛祖”的呼唤……这一系列的做法都可以被理解在不确定的编码事情中寻找平衡与信仰的方式。在充满挑战和无尽可能的编码世界里,程序员们需要这种平衡与信仰。
或许还可以理解为:在编程社区中,玄学的传统是一种共同的文化元素。同事之间的玩笑、传统或者潜在的社交压力都会促使程序员参与到这种玄学的游戏中。即使他们个人可能并不真正相信这些方法。
目前来看,尽管一些科学解释因为其复杂的外表而表现的像玄学,但大多看似玄学的东西能找到科学依据。随着科技的飞速发展,玄学能在科学中找到合理解释也说不定。
评论