修复bug的原则

找不到文件:
1、文件名和类名规范
2、文件名大小写规范
3、是否放到了正确位置
4、runtime是否删除
5、是否给正确的权限(777)

某些能稳定复现的操作bug:

rpc接口没数据、websocket连不上:
1、服务是否启动
2、ip是否能连
3、端口是否开放
4、其他
 


1、代码git版本、测试服ip准备
2、入参、导入文件准备
3、发request,尝试第一次复现
4、返回值json、返回提示记录
5、error.log、console.log、php_error.log等相关日志获取
6、熟悉代码大致流程
7、关键部位返回值/生成文件打日志断点,可以用二分法、注释法
8、逐步缩小范围,打日志断点
9、定位错误并找到错误原因
10、出解决方案,不确定的跟同事沟通
11、改完、自测、再想想有没不合理
12、去掉各种断点,提交代码

一次解决现场问题的原则:

1、未考虑到:没有memberof字段
2、未考虑到:memberof里没有“OU=DHCP认证组,DC=PORTAL,DC=sh,DC=tb”
3、前100条为空则不执行队列导入,发现队列没生效但不知道为什么,耗费了大量的时间

原则:
    1、使用属性时加判断,特别考虑下属性不存在情况
    2、foreach前用is_array和!empty($foo)判断
    3、某段代码没执行,先梳理整整体流程,列出所有可能得原因,而不仅仅是停留在局部,再逐个击破

减少bug的原则

1、幂等性,多次请求是不是效果一样?
2、并发性,快速重复点击是不是有问题?
3、兼容性,改完是不是不兼容老版本、老的数据?
4、考虑下字段不存在的情况,是否要给默认值或者写日志?
5、遍历前判断用is_array和!empty($foo)判断
6、是不是真正符合需求 ?
7、数据量大能抗住吗?
8、是否需要设置超时时间和内存,是否需要用yeild,是否需要分批?
9、http加超时和重试,失败记录日志
10、复杂过程,适当的加日志,从而知道代码是否按正常的逻辑运行的

数据展示不对问题原则:
1、找到数据库数据,是否是数据真的不对,还是前端显示问题
接下来按普遍原则

一直有莫名其妙的数据新增解决原则:
1、定位到日志。找到日志、找到新增时间,按时间去定位日志。但是grep的时候要注意,数据库时间和日至时间有如下问题(1、有时差。2、格式不一致)
2、看大致代码缺陷。找到日志后,大致看下代码,注意phpstorm右边的代码报错信息。例如是不是少了break等等
3、接下来按普遍原则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值