仅为记录所有大大小小的bug,谨为警示自己。
需求列表:
19.03.28:首页弹窗需求
19.04.04:猜你喜欢后台编辑&前台展示
19.04.09:会员专属优惠券,会员课程详情,领取优惠券,付费详情
19.04.15:用户对课程评分,评分统计与展示
19.04.26:“用户领取”优惠券,猜你喜欢“换一换”
19.05.15:拼团功能,详情页重构
19.05.31:签到活动
自测bug:
19.04.02:首页弹窗需求在运营后台新增修改弹窗时刷新了缓存,但忘了在删除时刷新缓存。——>以后还可以在增删改时只删除缓存,查询时才放入缓存,这样降低代码复杂度。原因:思虑不周&经验不足
19.04.10:猜你喜欢四个展示栏位,没有进行重复推荐去重——>下次类似需求都记得去重
19.04.10:猜你喜欢的猜测位进行了过滤,配置位忘记加过滤代码——>细心细心细心!
19.04.14:优惠券的业务:展示当前进行中,过滤已过期和未开始,过滤已使用,展示领取状态,库存,每人限领等——>开发过程中了解了优惠券业务。
19.04.15:计算折扣时,用price*discount/100,导致去整而不是四舍五入。后用bigdecimal方式计算折扣,再+0.5方式把double转long。——>后来优化成bigdecimal.roundhalfup,保留0位小数。
19.04.15:if跟else要引用2个不同但长得像的方法,仓促中引成了同一个方法&if跟else都产生list并add到一个结果list中,后面用结果list用成了if里的list&写了课程详情忘了写专栏详情——>啊,好粗心
19.04.17:会员折扣价跟最终价弄反&application再where语句没有写。这个发现的太晚,原因是自己没有把主流程走完,还对莫名出现的三张优惠券自己找了个合适的理由:其他人加了优惠券。太缺乏警觉性和反思能力。——>下次在联调环境一定要走完主流程,对出现的状况要警觉和怀疑。
联调bug:
19.04.02:首页弹窗需求在运营后台用阿里云工具拼接了图片地址,但在h5端忘记拼接地址。原因:粗心&不了解业务
19.04.16:where条件后1=1然后忘记加and~~
19.04.16:一个不属于我的锅——开发库里有这个字段,线上库没有,在开发时按照开发库的来,导致出错~~
测试bug:
19.04.10:猜你喜欢在进行返回结果封装时用了以前的代码,特别长,犯懒了就没细看,测试时发现有很多校验和过滤的代码,将结果过滤了,我的需求要求被过滤要返回下一个,只能将校验代码提前到我的循环逻辑里——>果然隐隐感觉会出bug的地方一定会出bug!下次不能懒了哇
19.04.17:领取会员专属优惠券时要判断不是会员不能领取,我虽然做了判断,但是在同一封装的方法里判断的,后来才发现下面的代码是判断了统一封装的代码时特定的code码才会不能通过。——>又是一次没仔细看代码导致的祸事
19.05.31:后台删除拼团进行了物理删除。——>粗心
19.06.11:签到活动没有判断未开始及已结束的情况
线上bug:
19.04.11:猜你喜欢上线的时候,后端后上线,前端后上线,参数在controller用integer接受,service方法用int接受,导致空指针异常。
19.04.23:又是一次包装型转基本类型导致的~price(Long)从数据库查出来是null,我用long来接收。确实没想到price还有null的情况,但也应该警惕技术上的漏洞。
19.04.25:定时器上线,统计时,用分数/样本,样本为0时出现除零异常。——>没遇到过该场景,下次注意~
19.05.05:现象:线上会员优惠券列表报异常,发现是取不到优惠券对应的课程导致的,后台我用map维护优惠券和课程关系,课程id为key,业务上确实不允许配置两张同样课程的会员优惠券,但运营配了,而我没警惕这种情况。导致后面一张优惠券覆盖了前一张优惠券,取前一张时NPE。——>总结:发现以上多个线上bug都是同一种问题,就是用alibaba的代码质量检查工具就能检查出的问题,如NPE,除零异常。以后写完代码用这个工具检查一下!!!不再出现同种问题!!!