程序员为什么要一直修复bug ?不能一次性写好吗?-宏鹏
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 程序人生


程序员为什么要一直修复bug ?不能一次性写好吗?

发表时间:2017/6/10 8:47:22 评论(0) 浏览(7539)  评论 | 加入收藏 | 复制
   
摘 要:这个看似是个外行提出的好笑的问题,但是却可以反映产品从设计到上线整个流程可能遇到的问题。
正 文:
这个看似是个外行提出的好笑的问题,但是却可以反映产品从设计到上线整个流程可能遇到的问题。
作为工程师的我,觉得这个问题非常值得讨论。
bug源自英文单词,本意是臭虫、缺陷、损坏、犯贫、窃听器、小虫等意思。现在人们将在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。从其意思上讲bug并不是程序员想让其出现,而是程序或软件研发出现了一些没有发现的问题。

以上只是说明什么是bug,而bug出现的原因是什么呢?这与软件的设计开发的流程密切相关。

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

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

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

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

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

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

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

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

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

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

 


从以上流程可以看出软件设计并不是简单的事情,它得经过一个极其严格以及相对漫长的时间才能完成的,在整个开发过程中会出现种种问题(bug),程序员得针对出现的种种问题对程序进行修改。用户使用软件一般都是一个开发流程完成后(完成测试)才使用的。出现bug是因为在测试时并没有发现问题而用户使用时出现了问题,经过用户反馈后程序员得针对出现的问题进行修复。无论是软件开发时还是开发完成后程序员多得最多的就是不断地更改程序,所以对于外行人来说就是程序员“一直改bug”。

随着智能手机的出现,手机APP 越来越多,APP 的功能越来越丰富,这种现象将会更加的普遍。这是很正常的事情,因为要想让软件实现更多的功能,程序会更加复杂,设计更加地困难,问题出现得更多,相应的bug也就越多,程序员要做的也就越多。

本身编程就是一个非常费脑力的活,你想达到一个目的,你用编程一步一步的去实现它,这本身就是一件不容易的事情,在实现这个目标的时候你要考虑很多事情,但是限于脑力的能力,你肯定还会有许多方面没想到,而等到测试的时候或用户使用的时候才会被发现因为当初没想到而存在了Bug;

人脑的脑力是有限的,同时人脑也会犯错的,将心比心,程序员努力的做出大家需要和喜欢的程序,其中付出了多少?其中的心酸不足与外人道也。我觉得大家要做的不是质疑和辱骂,而且多给予一些鼓励和认同,心情的好坏很大一部分也决定了制作出程序的好坏。

最后,让我们一起对所有的工程师们,说声,你们辛苦了,谢谢你们的付出!

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
客户是这样描述他们的需求的  【宏鹏(转载)  2015/1/7】
有人向我反馈了一个bug(转)  【宏鹏(转载)  2015/8/5】
不能对程序猿说bug  【麥田  2016/2/2】
程序bug导致了天大的损失,要枪毙程序猿吗?  【易勋  2016/3/27】
程序员 & BUG  【麥田  2017/1/5】
常见问答
技术分类
相关资源
文章搜索
关于作者

宏鹏

文章分类

文章存档

友情链接