程序员为什么要一直改Bug?不可以一次性写好吗?
当前位置:首页 - 网络大观 - 程序员为什么要一直改Bug?不可以一次性写好吗?

很多程序员写代码,80%的时间都花在修改bug上面。如果这些程序员一次性写好代码没有Bug,将会能创造多少收益呀。你知道吗?代码量和bug正常来说是成正比的,也就是说,代码写的越长,bug越多,这几乎就是一个不可抗的过程,写代码,尤其是复杂系统的代码,想一次写出没有bug,那几乎就是不可能的,那难度好比你高考考满分,这也就是为什么微软苹果那么牛逼没事还要发布些补丁或者更新下系统。

其实一个完整的程序,很多bug都是改出来的,刚做好的时候本来问题不多,客户整天叫瞎改,越改bug越多,虽然也有人反驳说改出来bug,说明你改的时候没有识别影响范围,也就是别人的代码你都没理解全,或者上下业务不熟就敢改,所以才会出现很多BUG,但是我想说的是一个case上面,每个客户要求都不一样,但是都存在一个共同点,那就是个个催进度跟催命似的,根本没有时间慢慢搞清楚,没有几个程序员这么闲工夫去开始就完善这个case。

网友@程序员老兵说,大部分的程序员都是花20%的时间就可以写出80%的可以工作的代码,剩下的80%主要是对各种异常场景的处理,但是这部分代码需要80%的时间,代价比较大。而大部分程序员天天都在加班,任务特别多,所以许多程序员为了赶进度,就部分完成异常处理的代码,这很多时候也是被进度逼的。另外产品经理的需求是很难准确传递给开发人员的,也导致开发的产品和需求不一致。 普通程序员和优秀程序员的主要差异在于对各种异常场景的处理,是否考虑可扩展性和可维护性,另外是否具备很好的产品意识。因为这个世界80%的程序员是普通程序员,所以bug永远存在。

@飞逸表示,作为一名码农,可以告诉你其实答案相当简单。首先,人都是会出错的,你炒菜都会有忘记放盐的时候吧?编码是一种很细的活儿,难保不会写错个字母什么的,这是大意失误。其次,编程是一种逻辑性非常强的工作,一步步的关联性很强,如果思考错了,就会有问题,也会有考虑不全面的情况,这是思维上本身有错。最后一点,很多事情预先是没法完全设计好的,现在是对的,以后可能就不是对的了,也可能是各人沟通不畅,没理解客户真正要什么,别人要的不是你做的,有时也认为你程序有问题。总的来说,做任何事情都不能避免人的弱点,没什么是能一次性完美完成的,只是编程能容许的错误更少。PS:没有BUG,程序员就要失业啦。

关于bug这些事情,我们首先要了解为什么有bug? 还有产生bug的原因。可能跟开发者自身的水平有关系,程序员经验、技术水平有限,编码时考虑的不周全,写不出高内聚低耦合的代码。或者是其他工程师的问题,牵连到自身了,比如后端程序员写的接口有问题,这样数据交互就有异常了。又或者是其他第三方平台的原因,比如苹果公司突然不支持热更新了,那我找谁说理去。还有其他一些原因,比如手机,浏览器本身就不支持某些特性需要做兼容性处理。双十一活动,网站流量剧增等种种意想不到的情况。所以我们能做的只是尽量减少bug的产生,做到有效的把控,心中有数。bug的产生是不可避免的。

那么程序员如何才能减少bug? 沟通! 我觉得是最主要的,老板。你不是需求不明吗?你不是经常爱画饼吗?我也给你画个饼,您看这样如何,不行我再画个饼,那这样呢?还是不行我只能默默的画个圈圈诅咒你了。跟项目经理,产品经理们也先讨论清楚,什么框架合理,那种数据库适合我们等等还有就是提升自身水平。编码时考虑的周到一些,尽量写出健壮性强的代码。那么,可不可以写出没有bug的代码呢?各位吃瓜群众。




共有 2 条评论

  1. avatar

    威客系统   2017-10-25 13:57 回复

    啊哈哈哈哈哈 我仿佛看到了隔壁那个测试狗和对面的程序员的日常

    1. avatar

      muzi   2017-10-25 16:58 回复

      每个科技公司总有那么相同的一幕,让人很是熟悉.....

Top

分享:

支付宝

微信

如果问题完美解决了,可以给木子我打赏,6元就够我吃个泡面,感恩不尽!