前言
知乎上有一个提问:程序员为什么要一直改bug ?不能一次性写好吗?
↓↓↓
今天,就这个话题,我们一起来做个讨论。
程序员的你,不知道是怎么看待这个问题的?在你的认知中,有没有某种魔法或手段,能保证代码写完后,一经上线,之后就永无bug了呢?
不管是有还是没有,都欢迎大家把各自的结论,丢到留言区参与讨论。
我的回答我认为bug的产生有两个维度:“部分可控”与“部分不可控”。
“部分可控”意思是程序员前期在代码写完后,经过自己充分的自测,然后附加测试同学精细的用例测试,是能把一些功能性的bug都能揪出来的。
这样应用上线之后,之前揪出来的bug一般就不会再次发生了。
当然也有些被称为“屎山”的系统,这次新上线的功能上线后验证没问题,但用着用着却影响到了之前的其他功能,你说神不神奇。
“部分不可控”意味着有些bug按照正常流程,是很难重现的,只有在某些极端条件加持下,才会发生。
比如什么明星出轨事件啊、热门政治事件等等,服务器流量一下子是平时的几倍乃至几十倍,一些我们平时看不到情况都开始陆续发生:什么接口响应缓慢;什么网卡流量打爆;什么CPU100%;什么OOM异常啊;什么Mysql连接数用尽啊;机器磁盘空间不够啊等等。
还有一些更加极端的场景,比如机房着火啊,机房地底下的光缆被挖断啊,直接导致当地服务不可用,真是防不胜防。
所以上述这些问题的发生,光是靠开发测试,是不够的,在现实世界中,也是有概率发生的,发生的时候,你能说它不是bug吗。
OK,接下来,分享三则知乎网友关于这个问题的答复,一个比一个精彩,一定看到最后哦。
知友答复 回答一
回答二
回答三