打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
程序员为什么要一直改bug ?不能一次性写好吗?(三思逍遥的回答,105赞)

选择蓝色药丸,故事结束,你将在床上醒来。

选择红色药丸,我就带你看看这个世界的bug。


  有大量没有或者几乎没有bug的程序,比如超市的收银机中使用的程序,比如你购买的计算器中的程序等等。这些程序都有一个共同的特点,就是功能非常明确,用户的使用方式完全可以预测,同时程序总的来说相对简单。

  但我们使用的更大型的程序,比如操作系统以及大型游戏程序,它们注定了bug重重,而且许多bug甚至只有在大量用户的使用过程中才有可能暴露出来,还有一些bug只有当你“恶意”的使用软件的时候才会暴露出来,比如非法获取系统权限。要求一个复杂的大型软件,没有任何bug,那基本上是强人所难,简单说就是这超出了人类的能力,而我们制造的用来开发这些大型软件的软件本身就不是完美的。但我们当然希望尽可能完美,因此在软件行业专门引入了软件测试工程师。并且,希望尽可能减少bug的数量,完美做不到,但趋近于完美是有可能的。

  目前在软件测试领域中对bug出现的原因有如下总结,而除了软件开发行业之外,这些总结也同样有益,因为人类出错的模式具有相似性,所以不仅仅是程序有bug需要不断的修正,我们的社会何尝不是如此。

固有的复杂性

  比如,为了方便用户而引入的图形化和操作互动,同时也是bug之源,但为了便利,我们只能忍受,并尽可能降低bug的数量。除此之外,大型软件中涉及到的许多工具,本身就不够完美,但我们还得使用它们,比如网络通信协议,同样不完美,但我们不能等到完美那一天才上网。

交流不够、误解或者没有进行有效交流

 目的不明,不知道要实现什么功能不需要实现什么功能的情况下,就开始开发。

程序设计错误

和所有的人一样,软件开发人员也会出错。

开发中途,需求变化

需求改变带来的复杂性可能导致错误,还可能影响工程参与者的积极性。

时间压力

软件开发工具

  如何选择合适的软件开发工具,能在保证完成开发的情况下,保持简单,并不是个容易的选择。程序员之间为了使用哪种开发工具更合适,可以爆发世界大战。

世界上第一个计算机bug,一只真bug。

1945年9月,哈佛大学的 Mark II Aiken Relay Calculator的管理员,找到了影响这台原始计算机运行故障的原因,一只飞蛾。于是他将该事件写到管理日志中,并将该飞蛾也贴在上面,同时将bug一词正式引入了计算机领域之中。 “First actual case of bug being found.”

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一篇讲演稿,来自CSDN Blog 标题是程序员成功之路
关于程序员的59条搞笑但却真实无比的编程语录
IT从业者的必读“启示录”:软件开发的世界末日
59条搞笑但却真实无比的编程语录
即将到来的软件世界末日,作为程序员该如何应对?
世界上最完美的两个软件,太厉害了!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服