本文作者:mingyu

凌晨四点的坚守:友聊技术团队为内测版 “战” BUG

凌晨四点的坚守:友聊技术团队为内测版 “战” BUG摘要: 凌晨四点,城市还沉浸在静谧的黑暗中,而友聊技术团队的办公室却灯火通明。一群攻城狮正全神贯注地为友聊内测版修改 BUG,他们的眼神中透露出疲惫却又无比坚定。就在这个紧张的时刻,他们仿...

凌晨四点,城市还沉浸在静谧的黑暗中,而友聊技术团队的办公室却灯火通明。一群攻城狮正全神贯注地为友聊内测版修改 BUG,他们的眼神中透露出疲惫却又无比坚定。

4c7ef2be6232266393ef88662f427975.jpg

就在这个紧张的时刻,他们仿佛能听到内心有个声音在诉说着说不出的苦。面对如同汪洋大海般复杂的代码,他们就像在黑暗中摸索前行的航海者,每一步都充满了挑战。然而,当他们回想起友聊这个 “孩子” 从无到有,一路磕磕绊绊地成长,如今正慢慢长大成人,心中便涌起一股难以言表的欣慰。

就在前两个月的某天凌晨,公司全新的营销工具在全国如期上线,可整个过程却险象环生。线上环境全量发布后,有同事观测到自己负责模块的监控曲线出现异常,在发布的时刻近乎直线下跌。经过初步排查,发现一部分新用户无法使用营销优惠,影响面非常大。所幸当时处于凌晨的业务低峰期,实际影响有限,但必须快速修复,否则等天亮用户请求量上来,故障影响和定级就会更大。

此刻,时间紧迫,虽然这部分内容并非自己负责,但作为当天的现场值班人,必须挺身而出。一位攻城狮喝了一口红牛,打开电脑便扎进了陌生代码的世界。然而,这代码并非汪洋大海,而是一片 “屎海”。代码堆砌如屎山,单个方法竟超过 500 行;嵌套的 if else 结构深不可测;日志更是完全缺失;职责不但不单一,反而极度混乱。四五个同事一起排查代码,尽管他们负责过这部分代码,却也十分挠头,找不到 BUG 在哪。

但当局者迷,旁观者清。经过 30 分钟的细致分析,终于有一位攻城狮率先找到了 BUG 原因。他激动的心颤抖的手,开了 5 分钟的 “BUG 发布会”,通报了 BUG 根因和修复方案。

4c79d3879243234be9e2047361792b77.jpeg

确定 BUG 根因后,其他人默默去休息了,而这位攻城狮则负责修 BUG、测试、打包、发版、验证…… 不知不觉,天空破晓,一直搞到早上 8 点多。在线上完成验证,监控曲线恢复正常,BUG 修复完成。

由于公司代码保密,这里使用伪代码解释 BUG 根因。业务逻辑是遍历所有的优惠活动,若任意一个优惠活动需要限制新用户使用,那么就需要去查询当前用户是否新用户。错误的代码中,newUserCheckEnabled 等于最后一个活动的值,如果最后一个活动不限制新用户使用,那么 newUserCheckEnabled 就是 false,然而中间的活动可能需要限制新用户,于是 BUG 产生了。正确的代码有两种,一种是使用 if 判断,另一种是老板给出的使用 “||” 表达式的方式,经确认,两者确实等价。

在这个凌晨,友聊技术团队的攻城狮们用他们的智慧和毅力,为友聊的成长保驾护航。他们知道,每一个 BUG 的修复,都是友聊走向成熟的一步。虽然过程充满艰辛,但他们坚信,友聊这个 “孩子” 一定会茁壮成长,为用户带来更好的体验。


阅读
分享

发表评论

快捷回复:

验证码

评论列表 (有 1 条评论,49人围观)参与讨论
网友昵称:whinc
whinc 游客 沙发
10-22 回复
友聊技术团队太赞了![Fabulous]凌晨四点的坚守令人钦佩,[Fabulous]相信在你们的努力下,[Watermelon]内测版一定会越来越完善,期待正式版的精彩呈现。[Watermelon]