
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
珠海达内表示本身编程就是一个非常费脑力的活,你想达到一个目的,你用编程一步一步的去实现它,这本身就是一件不容易的事情,在实现这个目标的时候你要考虑很多事情,但是限于脑力的能力,你肯定还会有许多方面没想到,而等到测试的时候或用户使用的时候才会被发现因为当初没想到而存在了 Bug ;
人脑的脑力是有限的,同时人脑也会犯错的; 有的时候是迫不得已。这么讲吧,可能数学比较好的同学都有过这么样的经历:有道数学题你怎么想也想不到思路,那你剩下的作业就不做了吗?当然不,先做别的题目吧。在实现某个大的应用时,有些不影响全局的某个小功能一时没有很好的解决思路,可能会先放在那里,或者用一种比较笨的办法去解决它。等到哪天灵机一动就有解决方案了
简单回答:因为编写程序的人会犯错,而且机器没法和人一样在出现异常时随机应变,所以需要程序员不断改 Bug ,弥补自己失误的同时,教机器应对各种异常情况;很多时候,异常情况是没法一次性穷举的,所以才会有 bug 出现。
举例来说,你叫个滴滴去火车站:原始要求,来辆车,送我去火车站。 人类师傅会根据路况帮你线路,会应对你的各种合理要求 ( 比如顺路带个人 ) ,会应对路上看到突发情况 …… 一切自然天成。
如果是自动驾驶车,最初的程序肯定是地图算点一直线过去,后面发现被堵了,就会加入根据路况选择的功能 ; 遇到有乘客想半途绕路捎人,又得加入重新规划路线、增加途径点的代码;基本驾驶方面,路况千千万万,比如你看见左前方车的雨刷动了,你知道要观察是不是有逗比要变道了,但开发程序的人根本不可能想到这种奇葩的情况 ……
所以,程序员只能通过积累经验,尽可能把所有的情况都考虑到,写出更多的代码,才能让程序看起来更靠谱。另一方面,言多必失。大作家都有可能写错别字,程序员写几千行代码犯点小错再正常不过。这就是低级错误的 bug 和考虑不周带来的 bug 。
另一方面,就算程序没问题,外部因素也可能导致一些 bug 出现。比如旧数据有问题,可能导致帐算不出来报 bug 。最后,总有产品经理要做个大功能,搞一些不合理的需求。这好比你让 60 岁大爷 5 小时跑完马拉松,不出问题就有鬼了 ; 有时需求方自己都没想清楚你觉得做出来的东西能没问题吗 ?
个人感觉有些 bug 也是程序的一部分。如果说 bug 纯粹是坏的不要的,那程序员也不能完全根除它,像微软的操作系统,有哪个版本没 bug ,没有补丁。 bug 就像程序猿的经验值,你解决的越多你的技术就越好。
bug 就像最烦恼的快乐,因为每解决一个它你的眼角就会流露出一时喜悦。 bug 就像你最不想见到的人,可总是见到!在此祝愿每个程序猿,多劳多得,快乐每一天!
这句话就和学生时代老师常说的, “ 能不能把试卷一次性都做对吗?非得留些错误 ” 一样。反问学生,大多都是思考不周,或者知识点不熟,以及解题技巧方面的问题。问之程序员,也是一样的,场景思考不周,架构设计不良,语言运用不熟等等都会导致 bug 的产生。
珠海达内表示把事情一次性做对确实是很有必要的,谁也不想没事给自己挖几个坑,但这需要有缜密的思维了,而我相信,这个世界还是粗心的人多点。在这里,只要你想,梦想就一定会实现。