程序员为什么要不能一次性写好,需要一直改bug ?

这个看似是个外行提出的好笑的问题,但是却可以反映产品从设计到上线整个流程可能遇到的问题。

作为工程师的我,觉得这个问题非常值得讨论。Bug分很多类,一类是对用户来说不能正常使用,能被用户感知到的错误。一类是用户能正常使用,但是有各种异常的错误。一类是使用没有任何问题,但是不符合产品预期的问题。其他应该还有很多,这里我们一一讨论。

1对用户来说不能正常使用,能被用户感知到的错误

其中一种情况是程序员和测试人员的问题,所有功能在上线前,工程师和QA人员应该测试,回归完功能。能被用户感知到使用流程有问题的话,一定是相关人员能力或者线上意识某一方面欠缺,也是最不能容忍的。

另外一种情况是黑天鹅事件,什么网线被挖断,机房被炸,服务器爆炸什么的。。。。。。,这个说实话,出了在软件架构上做冗余,目前没有什么特别好的办法。

2用户能正常使用,但是在用户看不到的地方有各种异常的

一个功能模块几乎不可能是独立的,它必然牵扯到其他模块。对于你所依赖的模块,你没办法保证这些模块是100%可用的。这个时候可能虽然有错误,但是只要不影响主要流程,我们依然可以正常使用。但这个时候对于外部依赖的异常处理,很考验工程师的能力。

举个例子,有可能你看到的点赞数比你实际收到的点赞数少。这个是由于点赞统计在什么时候失败了一次,某些用户可能认为这个是bug,但是其他可能不会在意(当你有10001赞的时候,你在意少了1个么?)

3使用没有任何问题,但是不符合产品预期

这个更多的是研发和产品经理对于需求理解的不一致。因为文字是有二义性的,况且人和人对相同文本的理解本来就可能出现偏差,这就导致了需求理解的不一致,最终导致了线上产品不符合预期。对于内部人员来说,这个也算BUG。

说了那么多,最主要的核心在于实现功能的是人。人不像机器,不可能不犯错;同样的,不可能存在没有bug的程序,像大家使用的windows,穷尽无数优秀的工程师,给予用户优秀的桌面体验的同时,也有你可能完全看不到的数千个bug。想要完全避免几乎是不可能的。所有也不存在一次性就写好的情况。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,169评论 25 709
  • 想必每一个爱好文艺或者对艺术有追求的人都会喜欢音乐吧,无论是古典还是流行,摇滚抑或抒情,一个人,一首歌,就在路上了...
    H糖鱼鱼阅读 5,105评论 0 19
  • 始于志同道合-——我与社群的相遇 2016年7月19日,我被时事热闻“遇见”,从此春暖花开,面朝简书。 至今我都很...
    萧洛zzy阅读 4,411评论 33 23
  • 灰色是天空,黄色是大地,灰黄之间是万物。本来的蓝天白云下,绿草碧水前没有了,或者换个说法,过了夏天就没有了。 田野...
    月冢阅读 1,729评论 0 0
  • 一款好的玩具能够让小宝宝们爱不释手,同时也能够让他们在玩的时候学习到很多的内容,对于孩子的智力开发也有很多的好...
    辣妈帮6868阅读 3,471评论 0 0

友情链接更多精彩内容