一个值得记住的教训啊

昨天下午实现一段代码,如果一说的话非常简单,非常低级的问题,但当时测试好几次,包括两个人review了,都没有发现问题.

结果集成到应用发布的时候出现BUG了,只好回滚.好在我们的应用都有预发而机制,没有影响线上的真实应用.

 

场景是这样的:

 

switch(x){

    case 1:

    case 2:

    case 3: // nothing

               break;

    case 4:

              dosomething;break;

  

    case 5:

              dosomething;break;

    default:

              dosomething;break;

 

昨天要实现case 3的逻辑,是一个URL编码.结果改成:

switch(x){

    case 1:

    case 2:

    case 3: // nothing

               urlencode(url);

               break;

    case 4:

              dosomething;break;

  

    case 5:

              dosomething;break;

    default:

              dosomething;break;

 

当时测试的时候只写了个URL传进来,正确输出了.

没想到case 1和case 2的情况穿越到 case 3了,结果是case 1和case 2的字符串都进入了urlencode的逻辑.

这么低级有错误,说出来谁都明白,或者如果整个代码是自己一次性写的,绝对不会犯这种低级错误,但在修改别人原有代码时

却忘记了在上面加个break来阻止穿越.

 

这样的代码如果考虑到以后别人可能修改和维护,其实不如费点事每个case直接加上break;否则别人很容易在增加处理状态时忘记

上面的穿越.

 

小心啊,小心................................

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
在ue5第一人称射击游戏开发过程中,我们学到了许多重要的教训和经验,这些经验可以帮助我们更好地开发游戏和避免错误。以下是我们从这个过程中学到的一些教训回顾: 1. 计划是关键:在开始开发之前,我们需要仔细规划游戏的各个方面。这包括游戏的目标、游戏机制、游戏场景、角色角色设计、敌人设计等等。只有在完全理解游戏的规模和目标之后,我们才能更好地制定开发计划。 2. 选择正确的工具:ue5提供了许多工具,包括蓝图、虚幻编辑器、材质编辑器等等。选择正确的工具可以大大简化开发过程,同时还可以减少错误和调试时间。 3. 小步快跑:我们发现,通过定期测试和迭代来开发游戏最为有效。每完成一个小的功能,我们都会进行测试和迭代,以确保游戏在整个开发过程中保持稳定并且能够按照计划前进。 4. 管理时间:在开发游戏时,时间管理非常重要。我们需要确保在规定的时间内完成所有任务,同时还需要考虑到可能出现的问题和延迟。 5. 优化性能:在制作游戏时,性能优化是非常重要的。我们需要确保游戏可以在不同的设备上运行流畅,并且不会出现崩溃或错误。 6. 与社区互动:在开发过程中,与社区互动可以帮助我们更好地了解用户需求和游戏市场需求。通过与社区交流和分享,我们可以收集反馈和意见,从而改进游戏并提高用户满意度。 总之,在ue5第一人称射击游戏开发中,我们学到了许多有价值的教训和经验。这些经验可以帮助我们更好地开发游戏并避免常见的错误。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值