【线上bug】记第一次参与活动开发产生的线上bug

问题产生现象:

      用户进行抽奖,奖励领取次数上限与实际上限不符。

问题产生根源:

     代码的错误复用:抽奖过程中对用户已获得的奖励列表进行处理,在更新数据库表的时候对该列表进行了重复处理,导致用户已领取该奖励次数入表数据比实际增多,间接影响了对该奖励上限的判断。

解决方案:

      关闭活动,返还花费,并对关键道具进行处理,修改逻辑,将判断是否领取过的函数与处理列表的函数分离。

思考:

      实习的第一次正式参与项目开发,其间有很多问题,包含但不仅含以下:

            1.对项目结构不熟悉,对常用工具类无法做到灵活应用。

            2.项目开发流程和规范不熟悉

                        a.有实际开发与需求评审不符的情况;

                        b.有实际开发与接口文档不符的情况。

            3.对必要工具(IDE、redis、Linux)等必要工具不够熟悉,花费较多时间。

            4.代码规范问题

                        a.单行for/if语句块的大括号;

                        b.字段拼写出现错误;

                        c.多分支结构时,未考虑以中断等形式增加出口来避免可读性降低;

                        d.多循环结构时,未考虑以中断等形式优化代码性能。

            5.无意义的判空,以及对NPE的不敏感

                        a.Dao层返回null导致NPE;

                        b.i++形式的for循环导致NPE;

                        c.集合中查找不存在的对象导致NPE;

            6.对逻辑的思考不透彻,未做到先捋清逻辑再编码,产生严重的逻辑错误,导致重写。

            7.对自己的代码结构不够清晰,导致在代码重写或是修改的过程中造成新旧逻辑混乱杂糅,不利于代码的debug和维护。

            8.对异常情况不敏感,出现漏判的情况。
            9.对sql优化乃至sql语句不够了解

                        a.在Dao层盲目使用表连接处理逻辑等。

                        b.存在对数据表的无效操作。

            10.对代码的性能优化不够熟练
                        a.循环io操作;

                        b.在主接口与被调函数中重复获取相同的表数据;

                        c.未做到先合并数据再更新表;

            11.对数据不敏感,无法全面地想到可能出现问题的情况,导致bug的遗漏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
降低线上BUG率可以从以下几个方面着手: 1. 代码质量:确保开发人员编写高质量的代码。这包括遵循编码标准、使用代码审查、进行单元测试和集成测试等。通过提高代码质量,可以减少潜在的BUG。 2. 自动化测试:建立自动化测试框架,包括单元测试、集成测试和端到端测试等。自动化测试可以有效地发现和修复潜在的问题,并在每次迭代中运行,以确保软件的稳定性。 3. 引入持续集成与持续交付:通过持续集成和持续交付工作流程,将代码频繁地集成到主干分支,并自动构建、测试和部署。这可以帮助尽早发现和解决BUG,并降低线上发布时的风险。 4. 监控与日志:建立完善的监控系统,实时追踪线上系统的运行状态和性能指标。同时,录详细的日志信息,方便排查线上问题时进行回溯和分析。 5. 优化部署过程:确保线上部署过程可靠且可重复。使用容器化技术(如Docker)进行应用程序打包和部署,确保环境一致性,减少部署引起的问题。 6. 用户反馈与错误报告:鼓励用户主动反馈问题和BUG,并提供便捷的渠道供用户报告。及时响应用户反馈,并进行问题排查和修复。 7. 持续学习与改进:定期回顾和总结线上问题的原因,分析出现问题的共性和规律,并在下一次迭代中采取相应的措施进行改进。 通过以上措施的综合应用,可以帮助降低线上BUG率,并提高软件的稳定性和用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值