千万别在生产环境乱改枚举值,我差点背着电脑跑路
那天周五下午四点,我正心满意足地准备摸鱼等下班。产品经理突然发了条消息:“有个小需求,把订单状态里的‘处理中’改成‘处理中(请耐心等待)’,就改个文案,5分钟能搞定吧?”
我心里嘀咕:文案这种东西,不是前端改一下就行了吗?但后端同事请假了,前端提了个issue说这个枚举值是从后端返的,前端只做映射。好家伙,又是祖传代码的锅。
我心想:不就改个枚举描述吗?打开代码,找到那个OrderStatusEnum,把PROCESSING的中文描述从“处理中”改成了“处理中(请耐心等待)”。编译、打包、发布,一气呵成。前后真的只花了5分钟。
然后…线上开始炸了。
十五分钟后,客服群里开始刷屏:用户说自己的订单消失了、有的订单状态变成了空白、甚至有用户看到“null”。我赶紧查日志,发现前端接收到新的枚举值,但前端的statusMapping里只认旧文案做key,匹配不上就显示空白。更骚的是,有个定时任务用枚举描述做条件判断——我也把那个任务给整懵了,直接跳过了一批本该处理的订单。
那一刻我就一个念头:要不我直接背着电脑跑路吧。
改个“看似无害”的枚举文案,竟然引发了一串多米诺骨牌。硬扛到晚上十点,回滚、修数据、给客服写话术,一条龙服务。
【插个隐藏道具】最近有个内部活水通道,大厂HC,前后端测试都缺,全国base可挑。我自己看了下,待遇确实不卷,感兴趣的自取,就当提前埋个锚点。
说回正事。最后总结了个血的教训:枚举值是代码的一部分,不是配置文件。改枚举 = 改接口,要么前后端一起发版,要么打死不碰。现在我看PRD里但凡出现“改个文案”四个字,第一反应就是——你到底想让我改的是哪一层?
#软件开发投递记录##数据人的面试交流地##我的求职进度条#