杂谈 ----- 程序员处理 bug 的一些经验总结



文章出处:http://www.chengxuyuan.com/post/787.html


遇到bug并解决了,详细把bug表现描述出来,并把解决经过写出来,做成笔记,就算以后不翻看,这样至少会加深你对类似bug的印象,下回就会知道类似的问题如何解决;

程序执行缓慢,首先应该检查数据结构是否合理,然后检查遍历这个数据结构的遍历语句是否写复杂了,能不能把遍历降低;

遇到bug可以与周围的同事或朋友进行探讨,别人的思路可能会给你帮助,也可能别人曾经遇到过类似的问题。

第一条最重要,善于记录问题和解决问题方案。

个人的一些bug解决经验以及测试方面的分析:

输入的内容,是否有最短或最长数据限制;

可能会产生多个数据的,尽量试试非常多的数据进行测试;

写遍历的时候,特别是多重遍历,考虑是否会产生无限的遍历计算(非常大的计算量);

做数据库删除的时候,考虑数据删除条件是否完全正确,修改和查询同样如是;

存入数据的时候,验证数据格式,以及考虑换行或特殊字符会造成前端json解析错误,此处不仅仅是指html层面的代码或JavaScript的代码造成注入漏洞;

更改了程序之后,尽量考虑周到有哪些地方会受到影响,最好是在写注释的时候注明有哪些地方会产生调用数据操作的时候一定要验明权限,验证当前用户是否有权限做修改,包括当前数据是否属于当前用户等;

对一个数据操作之前,不要凭着想法,觉得是对的,一定要用程序验明是否存在,并对验明的结果进行用户提示或者是报错处理;此处分为用户存数据到数据库之前验证,另一个就是取数据并进行操作的时候进行验证,特别是没有规定用户必填,但是在显示或者操作时候却需要用到的数据,一定要验明;

浮点数的计算丢失精度的问题,这个做稍微复杂的项目会遇到,此处把参加计算的数据都进行浮点型格式化并把得到的结果按需求四舍五入或其他方式取值,这种做法一般不会造成精度丢失;

两个数参与除法运算,必须检查除数是否会存在为0的情况,这种业务逻辑一般可能涉及到计算用户好评率,计算用户平均评星的情况,虽然这个除数不能为0是小学的知识点,但是开发过程中可能会漏掉监测,造成程序运算错误。


  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值