美文网首页程序员
[翻译]6天时间,1行代码

[翻译]6天时间,1行代码

作者: 武可 | 来源:发表于2016-12-08 00:17 被阅读502次

    来源 http://edw519.posthaven.com/it-takes-6-days-to-change-1-line-of-code

    这是个真实的故事

    总经理:我们的工厂有10%的产能没有充分利用。除非能开始安排更多的订单,否则就要解雇人了。我觉得还是给大家找到事做比较好,建立库存,为旺季做好准备。该怎么做呢?

    运营经理:公司规定不能生产超过3个月的订单。如果我们把它改成4个月,应该就有足够的工作量了。
    总经理:就这么办吧。怎么着手做呢?

    运营经理:我也不是很清楚。大概是要改某个老系统里的配置项吧。
    David(IT主管):没问题,应该就是改一行代码的事。给IT Service填个ticket吧。

    IT管理员:我已经把129281号Ticket分配下去了。不过还需要业务影响分析以及主管审核。

    David(IT主管):这是老总派下来的。如果不马上做的话,我们就得开人了。
    IT管理员:好吧,我来填这些部分,给它开绿色通道。

    2天后

    David(IT主管):129281咋样了?

    IT管理员:它是列表里最优先的功能改进任务了,前面还有14个bug要修。
    David(IT主管):要啥任务列表啊,赶快把它分配给Ed,紧急任务。

    1小时后

    Ed(程序员):我修改了模块ORP572的第1252行,把一个硬编码的变量 MonthsOfBacklog 从3改成了4。单元测试过了。我跑了两次批量,工作列表如预期一样增加了10%。没问题了。我刚刚把代码提交复审,并把它挪进Homer等待验收测试。

    复审员:现在公司规定禁止任何硬编码的变量。你要把它改成一个配置文件。另外,这里有2个以前留下的调试命令,一个变量未赋值的编译警告,一个硬编码的员工ID,这些都需要改掉才能上线。

    Ed:这特么什么鬼。
    复审员:的确是啊。但是你既然改了ORP572模块,你就有责任修正违反公司当前规定的遗留错误。我不能任由这个模块这个样子。

    2小时后

    Ed:好了,弄完了。我提交复审了。
    Julie (测试):Homer不能用来做验收测试,因为Fred正在跑一个月末总账对照测试。用Marge吧。
    Ed:我没有Marge的帐号。
    Julie:那你找安全管理员,让他给你分配帐号。

    2小时后

    安全管理员:我要有David签字才能给你帐号。他出差了。你能等到周一么?
    Ed:恐怕不行。老总马上就要这个功能。你让他授权吧。

    复审员:你的配置参数 "MonthsOfDemand" 需要改个更好的名字。外包程序员可看不懂这是啥。另外这个变更需要审计跟踪。
    Ed:公司规定是啥?
    复审员:这个没有明确的文档。外包团队wiki更新要滞后3个月。不过我向你保证,新的配置参数必须符合命名要求而且保持审计跟踪。

    1天以后

    Ed:我把参数 "MonthsOfDemand" 改成了 "SelectedMonthsOfBacklogDemand",并且在维护系统中增加了PAR634来记录和跟踪这个变更。我已经提交代码复审了。
    Tony(测试):我在Marge里看到129281了,但是没有测试计划啊。
    Ed:你就跑一遍老的,再跑一遍新的,记录一下 WorkOrdersHours 报表中增长的情况。
    Tony:这就是你的测试计划?不不不。这个会影响工厂里每个环节。我要有用户选定的测试用力,期待结果,测试执行文档,以及客户签字。

    2天后

    总经理:David, 让Tony把Ed的修改马上上线。
    David(IT主管):好嘞,老板。

    总共花费:6天
    任务相关代码修改行数:1
    任务相关字节修改数:1
    头痛药:24
    愤怒的在论坛对喷:14小时

    相关文章

      网友评论

        本文标题:[翻译]6天时间,1行代码

        本文链接:https://www.haomeiwen.com/subject/yjujmttx.html