Conan建筑 —— bug排查

功能已经接近大尾声了,测试还是在提 建筑承重拆除 或者攻防战打烂建筑的时候, 会出现一些建筑浮空的bug(承重计算有问题,浮空意味着掉落)。

卓识头疼了许久,主要是我们用的是服务器和客户端相同算法,由于是两种语言和环境下编写的,难免会有出入。加上这种类型的功能客户端调试起来,可视化很好,服务器就像个黑盒(操作无法可视化),很难调试算法错误。虽然写了一系列比对工具,但是吧,这种黑盒系统总让我有逃避的念头,就没好好改这里。

哎!其实我也是感觉我的算法没问题,与其让他们复现和自己逃避,还不如自己搞个随机拆建筑的系统辅助大规模拆除查bug需要,免的人力费工夫。自己先把系统搞明白吧。

第一步先验证算法的安全性和稳定性:在客户端编辑器写一个随机拆除建筑,拆一个记录当前剩下所有建筑的承重值,然后从地基开始把承重值刷新成一定正确的值。比对这两组数据差异,来测试算法的安全性。如果发现差异,立即打断。在写随机拆除功能的时候,我们还有记录拆除顺序,这样可以稳定复现拆除失败的现场。假如在服务器的黑盒里也拆除失败了,服务端还可以复现拆除路径方便查找bug。

第二步,在解决了以上问题后,确保算法是安全的,在服务器也实现相同功能,查找差异,复现bug,看哪里不对。

第三步:修改出现差异的地方。其实只要把有差异的地方都修复了,问题就没啥了。

注意点:随机拆除算法一定要写对,虽然很简单,不然结果会很困扰我们,特么的。我有几个比对结果就很让人困惑,主要是之前的算法缠绕和耦合的地方(也是之前写的为了方便测试的工具 和 有些服务器需求真是让人头大)没注意。

完成后,其实也顺便把代码逻辑梳理的更清楚了,把繁冗的地方都改的清晰后,用之前做的前后端承重比对工具,随机拆除,随机比对,前后端数据完全一致了。

终于舒了一口气,done

 图里的差异是当前拆除的建筑,拆了所以cantFind了,懒得改这个提示了。

有差异会这样

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值