当有人向你反馈了一个bug之后

IMG_8026

最近一直想写一篇 bug 相关的文章。昨天晚上打开 Reeder 翻阅的 RSS Timeline,结果发现了这篇「When someone gives you a bug」,作者是一位前端程序员,名叫 RobotJoe。原文网址:

When someone gives you a bug

开始写文章之后我发现每次想写一个主题的时候,从会有合适的素材时不时蹦出来,非常神奇。

故事讲得荡气回肠催人泪下,我一年前就读过中文译文,这次看起来依然心酸不已。于是找了一篇译作(译者已经不可考),重新意译、校对和排版,推送给大家。读完这篇文章,你大概就能理解为什么程序员明明知道创业维艰,成功率极低,还是奋不顾身的跳入创业的大熔炉里,岁月竞逐,情怀不改。

嗯,其实「每个人创业的成功率都很低」这种事,只是没人到处说而已。

是为「bug 篇前传」,以下是译文。


有人向你反馈了一个 bug,然后故事就发生了……

「26 楼会议室的灯亮着。得把它关了」。bug 的备注里写着「你应该能在 5 分钟内搞定,只要按一下开关就好了」。于是你去了 26 楼的会议室。灯的确亮着,但房间里没有灯的开关。

你准备安装一个开关。设计师说,开关会破坏房间的美感,另外,墙壁是混凝土,你需要专业的工具才能安装开关。没有人会批准这样一笔预算。没有合适的工具,安装开关将需要两天时间,但是他们希望你现在就能把灯关上。如果 CEO 心血来潮去 26 楼逛逛,并恰好路过了这间会议室,问为什么灯是亮着的,就糟了。

于是你不断地收到各个部门的邮件,询问为什么会议室的灯还是亮着。现在你不得不群发一封邮件说明情况,灯亮着,没开关,没工具安装开关需要两天。这个信息让邮件里的人们充满恐慌,大家开始游来游去的讨论,结论是,26 楼会议室的灯亮着,你得马上把它关了。

你知道,如果这么讨论下去,这个问题永远也不会得到修复。bug 系统里,这个 bug 归你所有,它的最后期限就是今天。如果问题没有解决,你就麻烦了。所以,你设法进入了 26 楼走廊的天花板,找到了会议室灯的电线,一刀两断。问题解决了。

你发了一封邮件,说明了你是如何解决问题的。

邮箱安静了一阵。第二天早晨邮箱又开始不停的响起来,因为会议室里的灯既无法开启,也无法关闭。如果 CEO 想在那里开会怎么办?因此,他们要求你「把灯的电线牵引到地下室去」。当有人需要开关灯时,他们会通知你到地下室去,连接或断开电线。

你抗议这个荒谬的解决方案。你的上司说,「是的,我知道这不理想。但它是现在唯一的解决方案」。 这时,你面临着选择。你可以照着他们说的做,或者辞职以示抗议,另谋高就。但你知道,一旦你开始了新的工作,新的「他们」很可能也会要求你做这么白痴的事,嗯,也许是更白痴的事。

你把 26 楼的电线引到了地下室。当你进入地下室后,发现已经有几十条电线挂在墙上,你知道你不是一个人在战斗,也知道了这个白痴想法是从哪来的。你调整好了电线,尽可能友好地贴上标记,默默地向下一个可能处理它的哥们道歉。

终于,你回到了你的办公桌,准备喝杯茶喘口气,读读 MacTalk 的文章。这时候你收到了一个新的 report。 QA 重新开启了 bug。

bug 描述里说「房间还是亮的」。

你回到 26 楼的会议室。灯是灭着的。你返回办公桌前,关闭了 bug,注明你已经亲自检查过了。

QA 再次重新开启了 bug。bug 描述里坚持「房间还是亮的」。你再次亲眼确认了灯泡是灭着后,你将情况汇报给了上司。他建议你去地下室检查电线。你抗议说你正直勾勾地盯着灯看,它就是灭着的。

「我知道,但去检查一下。这样一来你就可以告诉 QA 你确认了所有流程」。你的上司说。

你叹了口气,前往地下室。果然,电线没有连接,切口两端都好好地被包裹着。它们不可能以任何你能理解的方式导电。你向 QA 反馈,你检查了电线,它们没有连接着,你正看着灯泡,它是熄灭的。

「我不是指灯泡,」QA 说。「bug 里描述的是房间里的光线。房间现在仍然不够暗。你应该拉下百叶窗」。你忍住杀人的冲动回应说,百叶窗不归你管,bug 描述的是灯光。QA 不相信你,发出一组电子邮件,询问 bug 是否包含百叶窗拉下的问题。

你很是等待了一会,邮箱又一次响起来。

「从理论上说」,他们问,「如果光太亮或太暗的话,在 26 楼会议室开会的人能自由拉上或拉下百叶窗吗」?
「是的,他们可以」,你回复。
「任何一个普通人都能做到吗?他们就不需要你做了吗」?
「是的,任何人都可以做到这一点」。
「太好了。那么,灯光问题暂时到此为止吧。我会安排如何处理百叶窗的会议」。

bug 被关闭了。现在,CEO,可能知道了一些关于 26 楼会议室的讨论,他感觉到了什么,于是希望在那里开会。你收到了几封希望开灯的惊慌失措的邮件。你去了地下室,连上电线,并返回办公桌。这期间你发现你的收件箱多了 32 个新消息。「出问题了,灯还是熄灭的」「有个问题,还是没有灯光」 「你收到我们发的邮件了吗」……等等等等。

第 32 封邮件说道:「没事了,灯亮了」。

你默默合上电脑,准备回家享受一下阅读和安宁。如果要说今天有什么好消息的话,那就是在会议结束后,大家甚至都忘记了 26 楼有个会议室,你也不需要对它做任何处理。


如果有那个该死的开关就好了!下一篇我们就来讲讲,怎么避免程序中缺少那个「开关」。

发表评论