一次生产事故让8年老开发切底失去信心

113 阅读2分钟

个人背景:博主17年接触java开发,至今8年左右,现在深圳某公司;

事情起因,博主公司需要对某一个扣款业务进行重构,此业务每月交易量以及每月扣款金额均已上百万;前期为了赶工期,导致代码💩一样,阅读与扩展性非常差,博主就被安排重构;

经过两周的需求改造,看着自己改造过的完美代码,使用了模版、策略、工厂等设计模式;信心满满的🤣,想着这个月绩效应该是我最高了吧!

2月24号(周一)上午准备上线各种事宜,下午1.30分,开始放开业务扣款任务,刚上线10来分钟,线上就炸了锅,工作群立马就有客服反映,客户投诉多扣了钱,其中一个用户一笔数据重复扣了9次,直到用户卡里余额不足才终止;

经过各种排查,原因是因为支付回调少set了一个参数,导致后续更新账单状态前报空指针;经过九九八十一难,终于把此bug修复好了,后续又把用户多扣的钱退了回去;

几个小时过去了,又重新打包发版,想着今晚应该可以下个早班了吧;屋漏偏蓬连夜雨, 船迟又遇打头风,只想说:理想很丰满,现实很骨感;接着出现问题二、三、四、五…,期间发版了n次后,到了第二天中午,此功能才稍微稳定,博主也是从当天干到第二天中午才下班😵‍💫;

经过此次功能重构,切底把博主搞的没自信,严重怀疑自己能力;所以发表一篇文章记录,让自己反思; 此次博主对自身进行了问题总结:

一:做事粗心,有很多线上问题细心是可以避免的,对原有代码逻辑没认真看;

二:对原业务需求功能没有完整捋清,形成完整的闭环;

三:对于自己功能盲目自信,自测不够全面;

通过博主这次血的教训让各位倔友们引以为戒。