Log in

你知道什么是bug吗?

    财经志

    在自然界有很多bug,也就是臭虫,很臭的那种,一般都是害虫。还有一种叫做political bug, 一旦被政治臭虫咬到,你一辈子都想从政,就算八九十岁了还想从政,西方国家这种人超级多。

    在科技产品中,也有很多bug,我们来看看西方英语字典对bug的定义吧。Bug: an unexpected defect, fault, flaw, or imperfection,请注意最关键的信息unexpected,也就是意料之外的。Bug是缺陷或者故障,但是不是每次都会发生。有时候bug发生的频率为几分之一,测试几次就能重现,也有可能是万分之一,测试一万次才能发现。很多bug自己公司尚且难以复现,第三方机构自然也难以检测出来。

    Debug(排除故障)的难点就是bug难以复现。造成最大损失的bug就是波音的737 MAX。由于软件设计的bug,驾驶员调升仰角后,即使超出了正常范围,显示屏上的数值仍然在正常范围内。过大的仰角导致飞机失速,然后就是坠落。如果飞机本身的高度足够高,失速坠落一段距离后还可以恢复正常,如果距离地面很近,那就悲剧了。

    很多产品有非常多的bug,只不过损失不大,也就没人追究。当然,有些人故意搞些虚假的宣传,那不是bug,那是故意误导。最典型的就是可穿戴设备上的虚假心率,你每天都看到75次左右,多好啊。然后,突然你健康亮红灯去住院,你才知道别人骗你几十年了。这些不是bug,是故意欺骗。

    有些bug牵涉到系统设计,不能简单的修复,需要重新设计生产。如果你是厂家,你愿意完全推倒重来吗?肯定不会啊,那么高的投入,将就着用吧。

    有些bug是历史包袱,以前别人写的代码现在没人去重构,也没人愿意承担风险,最终就是bug一直存在。当年的摩托罗拉就是这样的典型。在诺基亚和摩托罗拉的时代,摩托罗拉的手机奇形怪状的故障超级多,他们不愿意重构代码,一直用那bug满天飞的代码。现在大家都知道了,结局就是公司业务已经不存在了。

    新公司的最大优点就是没有历史包袱,也就是没有满是bug的历史代码。新架构新代码,质量一般不会太差,这是新公司打败老公司的关键。如果老公司想维持自己的优势,就要敢于动大刀,敢于大规模的重构自己的代码。