当前位置:   article > 正文

老码农的自我修养:为什么会有BUG?过来人告诉你!_bug 的表面原因和根本原因分别是什么

bug 的表面原因和根本原因分别是什么

一、为什么会产生BUG

首先我们需要尝试理解一下什么Bug?

关于bug的解释

bug 是指任何计算机程序或硬件系统中的错误,故障或缺陷。错误会产生意外结果或导致系统意外运行

简单来说:bug就是程序出了问题,产生了意外的结果,没有按照预期的结果去运行。

产生Bug的原因有很多种:

开发者水平太低

不同的编译及运行环境

与需求方沟通不到位

马虎大意、考虑不周

放飞自我,Coding全靠自嗨

选择了错误的或者运行不稳定的第三方库

以上原因总结,主观和客观因素都会影响到Bug的产生,正如误差不可避免一般,我们应该对自己写出的代码进行测试、分析、"沟通".

 

二、如何尽量避免Bug

鉴于以上bug产出的原因,我们可以通过这些一些对策来避免Bug的产生,下面是一些常见原因分析和处理对策。

1.开发者水平太低

在进行系统的构建中,部分开发者可能通常因为开发经验过少,或者语言不熟悉,会编写错误的代码,然后未经过代码测试和审计,便进行提交和上线操作,导致了异常的引发

解决方案:

如果是语法错误,可通过一些ide的代码检测器,或者语法检查来检测代码可否正常运行.

如果是PHP等弱类型语言,可使用静态代码扫描工具来发现程序中明显的语法错误.

编写足够的测试用例,覆盖整个模块的语句

请求你的伙伴进行CodeReview(代码审计),来改善代码的质量和发现代码中的缺陷

2.不同的编译及运行环境

因为业务的拓展和服务支持,需要部署多个不同的运行环境中,如:转账系统,你在测试环境中转账了1000元给用户小明,小明却在生产环境中收到了这1000元,并成功进行提现,往往因为没有环境判断,导致了失误的操作!

解决方案:

1)在代码中多进行注释说明,标明哪些函数会在其他环境中操作和运行

2)加强环境逻辑判断

3.与需求方沟通不到位

这是经常程序员与产品对撕的一个很重要原因,TA想要A,而你却做出了B,于是你们产生了很大的争论

解决方案:

多进行沟通,需求进行反复确认,不要上手就进行编码,先进行分析。

通过PM系统,留存需求规划与变更记录,以便每一次业务更改,都得能与系统中的问题对上号.

4.马虎大意、考虑不周

编码时以为问题很小,修改代码,不走调试与测试流程,直接上线。

解决方案:

不要盲目过于自信,相信自己的主观判断,,一定走测试流程,确保改动无误!

CodeReview(代码审计),这是一个最好的办法,当然需要耗费不少的人力,但是能最大的去降低缺陷和错误。

 

三、多与代码进行"沟通"

“橡皮鸭调试法”是我在阅读《编写可读代码》一书中看到的一个技巧,我在一个人开发的时候会使用这个技巧,我认为是一个不错的选择。

四、总结

我们为什么会编写BUG,如果没有BUG?开发和测试不就失业了吗?当然这只是一句玩笑话。

在此引用知乎上一句很有意思的话。

编码也亦如此,因为很多主观和客观的因素,导致程序执行了错误的逻辑,产生了不如预期的结果,作为一个合格的开发人员,我们应该尽力确保程序稳妥运行,减少失误和异常。

 

另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

UP在主页上传了一些学习C/C++编程的视频教程,有兴趣或者正在学习的小伙伴一定要去看一看哦!会对你有帮助的~

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

免费学习书籍:

免费学习资料:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/470266
推荐阅读
相关标签
  

闽ICP备14008679号