昨日,友人于朋友圈掷下一枚“巨锅”——配图是一张只剩两秒的倒计时,配文仅两字:背锅。我追问缘由,竟是一段令人啼笑皆非的乌龙。
他们公司做垂直电商,策划了一场“低价闪购”。为烘托气氛,前端需呈现 60 秒倒计时,待数字归零,闸门大开,万人哄抢。上线当日,领导坐镇,产品、研发、设计、测试全员屏息。谁料大屏上的数字竟从 2 秒开始蹦跶,两秒一过,活动猝不及防地开场,页首却仍高悬“距开始还有 60 秒”。空气瞬间凝固,产品经理率先发难:“需求里分明写 60 秒,怎么成了 2?”测试亦附和:“我亲测是 60!”研发小哥仓皇翻代码,发现线上版本把倒计时硬编码成了常量 2。原来最后一次回归测试后,为走流程方便,他将秒数临时改成 2,却忘了改回。测试亦未二次核验。于是,一条被“写死”的常量,把精心筹备的战役变成大型社死现场。技术负责人只能鞠躬致歉,领导拂袖一句“早干嘛去了”,留下一口锃亮大锅。

在代码宇宙,“写死”是原罪:把本应呼吸的变量掐成僵硬的常量。淘宝 3 月事故亦同此理——内测到期弹窗被钉死在前端,时间一到,千万用户齐被“内测”。若将触发逻辑挪到后端,或置于云端配置,何至炸锅?
解法并不玄妙:把可变参数放逐到配置文件或远端开关,让代码只负责读取。上线前,产品与测试对着配置项逐一打钩,既解耦又安心。可惜,人常图一时之便,埋下万世之坑。须知需求、时间、资源、质量是铁四角,挪动一角,其余必震。
发射火箭前,任何一颗螺丝的松动都可能让整箭焚空。产品上线亦如是。若不想在众目睽睽下背锅,请把关键变量请出代码的牢笼,让它们在配置里自由呼吸。上线前再跑一次 checklist,哪怕只是改一行文案。毕竟,开弓没有回头箭——但我们可以提前把弓弦校准到完美。