事故背景:在进行 sonar 扫描的时候出现疏忽,使其永远进入判断语句中,放大了本有的空指针错误。
事故原因:原代码为:
在该代码中,如果 response 为 null,那么 response.getBody()会抛出空指针异常。
第一次更正(错误方式),代码为:
直接将其改为了!=号,导致每次都进入该判断,抛出异常,导致代码无法往下进行。
第二次修改(正确的修改方式),代码为:
将其判空语句写到这个条件判断外边即可解决
问题点:1、sonar 扫描改动地方较多,有很大的风险。
2、gito 提交代码冲突特别多,不容易解决
3、codereview,由于代码量改动较大,导致 codereview 难度较大
解决方式:1.sonar 代码扫描过程中,如果涉及到明确功能变更,自测 +codereview,让测试覆盖回归
2.bugs 级别漏洞级别的 sonar 优先修复
3.制定后端系统日志规范
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于