潘豆子来到公司。</P>
开发部乱成一团糟。</P>
项目经理黄波涛正在发脾气,看到潘豆子来了之后,马上问:“豆哥,怎么弄?”</P>
为了保证系统稳定,公司有一整套系统发布流程。</P>
开发人员把写好的代码提交到测试环境,测试人员测试通过后,将最新程序更新到模拟环境,模拟环境运行没问题之后,再更新到真正的生产环境。</P>
现在生产环境出问题,要是按照正规的修改发布流程,至少需要一整天。</P>
因为,修改充值的那段代码虽然简单,但是没人敢保证,修改这代码不会产生新的问题。</P>
潘豆子坐在工位上,打开电脑,心平如水。</P>
他没有修改现有任何代码。</P>
他找黄波涛授权了生产环境数据库访问权限,从生产环境的数据库中取了一百条数据放到测试环境,再写了一个简单的更新语句:从今天开始,所有的到账金额,等于充值金额除以0.8.</P>
反复执行几次,对比数据,没发现任何逻辑问题,再将生产环境的数据库备份以免出错,然后,执行他写的更新语句,一秒钟之后,数据全部正常。</P>
充值100元,到账125元!</P>
办公室一片欢腾。</P>
夸潘豆子的话如一泄如注,像腹泻的人吃多了。</P>
潘豆子没有理这帮人,他在数据库中添加了一条新的公告:为了对公司客服部进行压力测试,系统对部分幸运用户进行了充值100到账80的活动,所有幸运用户在未来三个月内,将会收到一份神秘礼物。目前到账金额已恢复正常,感谢广大用户对我们的支持。</P>
程序出现其他bug,用户投诉,最多名声不好,充值如果出现问题,很可能会被当成电信欺诈。国家这两年正在追查这个事情,如果处理不好,公司的运营资质都可能受影响。</P>
潘豆子公告发出去之后,用用户身份登录,看到公告显示在用户首页。</P>
他在服务器上启动了定时器,每三秒执行一次他写的更新语句,新产生的充值记录依然不对,但是执行更新语句之后,到账金额就刚好对得上。</P>
黄波涛终于可以松一口气了:“立即全面检查代码,将最近一次更新的代码全部列出来,去会议室投影,大家一起来看。”</P>
那个犯错的新手程序员赶紧帮忙,去打开会议室灯 ,把最好的位置给潘豆子。</P>
测试组的三个女同事来了两个,程序有重大bug就上线,她们也有责任。潘豆子帮她们把影响降到了最低。</P>
代码并不复杂,潘豆子在新手程序员的帮助下,迅速定位错误,修改代码,并分析了所有对这段代码的调用。</P>
后面操作,严格按照公司的紧急bug修复发布流程,测试,发布等等。下午4点多去公司,到八点才进入到模拟环境运行。</P>
后面的事情,就与潘豆子没什么关系了。</P>
等测试人员在模拟环境中运行,没发现任何问题之后,点击了发布按钮,发布系统会将最新代码更新到32台应用程序服务器上。测试人员再在生产环境测试充值,退款,都没问题,这个bug就算彻底修复了。</P>
至于后面写bug修复报告等等,那是新手程序员去做这种苦力活,因为错是他犯的。</P>
潘豆子的心,从头到尾,都非常宁静,一点都不慌,整个处理过程,丝滑,柔顺。他处理完毕,忽然想起来,去年的他,看到陈迅帮他写的那个调度程序,当时特别羡慕陈迅能静下来。</P>
此刻的他,在如此急迫而且乱哄哄的环境下,依然能静下来,他知道,自己终于不用再羡慕陈迅了。</P>
黄波涛要请所有人吃饭。</P>
祝露丝说:“豆哥,我来了快一个小时,你都没注意到我。”</P>