如何写出没有Bug的代码?

1947年9月9日,美国海军准将Grace Hopper在哈佛学院计算机实验室里使用MarkII和MarkIII计算机进行研究工作。她的团队跟踪到MarkII上的一个错误,操作人员发现是由于一只飞蛾钻到了MarkII的继电器里导致的。

团队清除了这只飞蛾,一切恢复正常。当时的工作人员记录了这样一句日志:“First actual case of bug being found.”这次著名的事件,犹如潘多拉打开了魔盒,从此,程序员的世界里,bug满天飞。

▲世界上第一个bug

一、趣谈:如何为bug找借口?

在我所担任过的角色中,有一个岗位叫做Development Manager,通常简称DM。记得在一次基于一款平台的二次开发项目中,因为bug实在太多,我们几乎拿出了一整个里程碑的周期来debug,于是我这个DM有了新的解释:Debug Man。

没有人喜欢bug,bug意味着错误、不确定性、加班、交付风险……负面的词语怎么堆砌都不冗余。随便找个有过一、两个项目经验的开发者,问问他debug的回忆,那气氛就跟上坟一样。

对于bug,开发者的神经往往也很敏感。有个段子很有趣——说的是“应该如何向程序员反馈一个bug?”

你不能直接跟他说:“这里不对啊,是不是你程序有bug啊?”,要这么说的话,会直接被怼回来:“你丫的自己不会用吧!”。

你可以换个说法:“咦,这里好像不对,是我操作错了吗?”,这时程序员心里就一咯噔:“Shit…不会是我代码有bug吧?”

从业多年,发现有个现象还蛮有趣的:有时候,当某个bug被发现时,犯下这个错误的始作俑者会开玩笑地为自己解脱:“谁没写过bug啊,Windows还有bug呢。”这句托词我也用过,感觉挺好用的,就好比:梅西都能罚丢点球,我空门没进,也是可以理解的嘛。

但其实吧……这逻辑经不起推敲的。

Windows操作系统,一款长达3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值