赞
踩
bug的起源:
1945年,一只小飞蛾钻进了计算机电路里,导致系统无法工作,一位名叫格蕾丝·赫柏的人把飞蛾拍死在工作日志上,写道:就是这个 bug(虫子),害我们今天的工作无法完成——于是,bug一词成了电脑系统程序的专业术语,形容那些系统中的缺陷或问题。
bug一词,是指“故障”、“缺陷”。了解软件开发的朋友都非常熟悉,程序员和测试人员更不用说,在工作中会常遇到。 作为一名开发人员,项目出现bug是避免不了的。无论你是一名初入职场的小白,还是拥有经验丰富的大佬,只要经常写代码,梳理业务逻辑,很难免不出bug。正所谓常在河边走,哪能不湿鞋。记得以前经常听人说,如果你没有把系统搞宕机过,就不是一名合格的CTO,成为一名出色的开发人员,经验都是一个一个积累起来的。
所谓的bug指的是生产环境发现的问题;那么只要线上不发现问题,那就不是bug。之所以这么讲是因为一旦影响程序的正常使用便会影响公司的利益,公司利益被影响你自己的利益也会被影响;所以为了自己写程序的时候尽量多测试,将可能会应对到的情况想得全一点,减少bug的出现。
程序员能为了减少bug的出现能做的可以从代码方面下手。
除此之外,一方面可以借助一些工具来进行bug的规避,比如sonar,可以发现一些潜在的错误和问题。另一方面我们要不断学习和提高自己的编程技能,以提高代码质量和减少错误的发生。
尽管这样bug这种东西还是不可避免的,我们只能减少bug而不能消除bug,没有人保证自己的程序一定是没有问题的。减少bug的出现只能多测多验证,哪怕单元测试通过都不能非常有效减少bug,因为受到写单元测试的人的思维角度限制,导致单元测试的片面性。
关于bug的种类,最容易出现的bug是逻辑上的bug,如复杂庞大一点软件如果不是所有地方都熟悉就写代码是比较容易遗漏一些特殊情况的。除了逻辑上的bug外在开发中还有框架中存在的bug,但是这种bug是我们避免不了的。如2021年爆发的log4j堪称史诗级的bug。
没什么好的办法可以提前避免掉,就多用一些稳定的框架吧,有apache就用apache,没有就优先使用fork,start高的,从概率上减少。
一个人的力量毕竟有限必要的时候可以叫上同事,进行code review。
因为bug是不可避免的,所以解决bug就显得尤为重要,总结一下bug的解决思路:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。