头还昏昏的。工位的键盘旁,摆着三份 “生存难题”:CEO 的 “项目排期表”,红色标注 “本周内完成支付模块开发,下周内测,不能延期”;自己的 “学习计划”,“今天必须掌握 Redis 缓存配置,不然支付模块会卡顿,影响用户体验”;还有条租房中介的催租短信:“再不交房租,就默认解约,押金不退”。
我摸向显示器旁的 “入职目标” 壁纸,想起面试时跟 CEO 承诺 “3 个月能独立负责模块”,而我的银行卡余额,只剩下 1200 元,够交半个月房租的钱 —— 今天必须修复登录漏洞、推进支付模块,不然试用期都可能过不了,更别说实现目标了。
早上 9 点,我准时到公司。刚坐下,产品经理就踩着高跟鞋跑过来,手里拿着测试报告:“登录漏洞怎么样了?内测用户已经在催了,再修复不好,我要被运营部骂死了”,语气里满是催促。我赶紧打开代码编辑器,却发现漏洞涉及的 “Session 共享” 问题,正是我没学过的知识点 —— 之前只在书上见过概念,根本没实际操作过。
我不敢说 “不会”,只能假装镇定:“快了,正在调试,马上就能好”,偷偷打开浏览器,搜索 “Session 共享解决方法”,页面弹出来一堆方案:用 Redis 存储 Session、基于数据库的 Session 共享、使用分布式 Session 框架…… 我看得眼花缭乱,手心全是汗 —— 怕被同事发现自己在 “临时抱佛脚”,更怕修复不好,影响内测。
11 点半,终于在一篇技术博客的指导下,修复了漏洞。我长舒一口气,靠在椅背上,才发现错过公司早餐时间,只能从抽屉里摸出昨天剩下的面包,就着冰美式咽。面包太干,刮得嗓子发疼,冰美式的苦味更是直冲头顶,却还是得往下咽 —— 省点时间,能多推进点支付模块的进度。
中午午休时,我趴在键盘上打盹,刚闭眼没几分钟,就被 CEO 拍醒:“陆阳,支付模块的进度怎么样?下午 2 点要跟投资人演示核心功能,你得保证支付流程能跑通,这是咱们公司融资的关键,不能出岔子”。
我赶紧点头,心里却发慌 —— 支付模块的退款逻辑还没写,只完成了支付成功的流程,异常场景根本没考虑。只能利用午休时间赶工,打开代码,发现之前写的支付接口有逻辑错误:金额校验没做、订单状态更新不及时,只能删掉重写。手指在键盘上飞快敲击,敲到一半,键盘突然卡住,原来是昨晚不小心把饼干渣掉进去了,我赶紧拆开键盘清理,耽误了 10 分钟,心里更急了。
直到下午 1 点 50 分,终于勉强跑通支付流程,却知道还有 3 个潜在 bug 没修复:支付超时没处理、退款接口没写、异常日志没打印,只能祈祷演示时别触发这些场景。
下午演示时,投资人坐在会议室中央,手里拿着平板电脑,CEO 站在旁边介绍产品。轮到支付模块演示,我握着鼠标的手微微发抖,一步步操作:选择商品、点击支付、输入金额、确认支付 —— 流程很顺利,支付成功的页面弹了出来,我心里松了口气。
可就在这时,投资人突然提出:“想测试支付失败的异常场景,比如余额不足时,系统会怎么处理?” 我心里一紧,退款逻辑还没完善,余额不足的异常提示也没做,却只能硬着头皮操作 —— 点击 “模拟余额不足支付” 后,系统报错,页面卡住,屏幕上弹出一行刺眼的红色字体:“NullPointerException”。
CEO 的脸色瞬间变了,演示结束后,他把我叫到会议室,语气严肃:“陆阳,我以为你能搞定,怎么连异常场景都没考虑?投资人刚才都皱眉头了,你知道这对公司融资影响多大吗?” 我攥着衣角,指甲掐进掌心,不敢说 “自己还没学完相关知识点”,只能低着头道歉:“对不起,我今晚一定修复,保证不影响明天内测,不会再出问题了”。
走出会议室,资深程序员老周递给我瓶可乐,拉环已经拉开:“别慌,刚才演示我看了,问题出在异常处理逻辑上,我给你份之前项目的异常处理模板,你参考着改,有不懂的就问我,别硬扛,新人都会犯错”。我接过可乐,冰凉的瓶身贴着掌心,眼泪差点掉下来 —— 原来不是所有人都只看结果,还有人愿意帮你。
晚上加班改退款逻辑,老周留下来帮我梳理思路:“你得先预判用户可能的操作场景,比如支付超时、余额不足、网络中断,每种场景都要写对应的异常处理,不能只
江城穿越之代码里的成长-->>(第2/3页),请点击下一页继续阅读。