改bug制造bug...

故事背景,我看打印输出有报错,于是加了一个容错。然后出现bug了,一个副本的机器人没了。反思问题所在,当我们去改别人的任何代码,都可能会出现bug,因为确实不知道别人的设计。

引出了另外一个奇怪的问题,就是他的代码在别人的电脑或其他环境是不会报错的。我当然是看到报错才去修改的,这代码在我这里确实报错了。代码如下

这个是我加的 if(not mbr)then return end

函数被return了,出现bug。

outlook = mbr and mbr.outlook,

这个确实是处理了容错,即使上面空也不会报错,我做过实验。。。

能正常运行。。。

bug肯定是我改出来的了,我们应该怎么避免这种情况。

我们容错应该是要兼容以前的流程,既然以前是不return的,那么是否应该报空给默认值会更好?

if(not mbr)then return end

改成

if(not mbr)then mbr={} end

怎么说呢,这样改并不能完全避免产生新的bug,比如本来别人只是报错了,属于正常报错。

加了默认值然后继续运行,下面可能扣钱或者加钱,那么就出现新的bug...

这个最稳只有去搞清楚这个函数是哪个功能,然后相关功能都测试一遍了。。。。

相关推荐
QuestLab2 天前
维护 Hermes Agent CN 过程中的碎碎念,以及从bug上得到的一点点启发
bug
java修仙传2 天前
Java 实习日记:一次 Excel 导入校验 Bug 的定位与数据更新逻辑优化
java·数据库·bug·excel·后端开发
当战神遇到编程2 天前
软件测试基础入门:从 BUG 到测试用例设计完整指南
测试用例·bug
Bear on Toilet5 天前
3. BUG篇
bug
编程探索者小陈5 天前
【测试】之BUG篇
bug
棋宣5 天前
uni-app编译到微信小程序中,父传子props首次传递数据不接收的bug
微信小程序·uni-app·bug
wqdian_com5 天前
华为手机浏览器的一个bug
服务器·华为·bug
清水白石0086 天前
把事故变成护城河:如何设计回归测试,防止“订单重复创建”这类历史 Bug 卷土重来?
python·bug
njsgcs6 天前
c# solidworks createline 拉伸发现有微小两点间隙 导致拉伸变成薄壁特征 改bug画了6个小时 解决结果
c#·bug·solidworks
前端达人6 天前
第18课:实战案例二,线上紧急 Bug 修复全过程
bug