一支历史悠久的报表,若干年后人事已非但是主管交代你改写,报表跑一次要四小时且中间就有可能会死掉,能帮你的只有源代码,你(你)要怎么办呢!?以下是我的血泪记录。
前阵子主管忽然跟我说有支年度报表的程序需要作些修改,因为跑出来大概要三四个小时,且有可能在中间就死掉了,
所以困扰那个部门很久了,希望我们可以看看问题出在哪里,所以这档事就变成我那阵子的梦靥....(泣)。
第一眼看到源代码,我就再想他怎会这样子写呢,但是又害怕其中有冤情,所以就进入了以下的轮回。
-
绝望
因为根本不知道从何下手,也因为年代久远人事已非没有人可以询问,也没有人敢确定那些逻辑是否还是正确,
且注解也写的很玄啊,所以一整个茫然啊(空)!。
-
从好懂的先整理
只好从一些比较简单的Method先去看懂其中的意义,改一下命名方式,或是一些你确定不会影响报表
产出的元素,改的时候还是很抖啊...!
-
再次绝望
改完上述敢改的之后,我也不知道还能在做什么了,所以又停滞了一阵子,做些其他项目来让自己不要这么空虚,
天啊,这玩意儿好难懂啊,我冏了。
-
开始有希望
或许是因为太久没改怕对不起主管以及那些User,不知道哪里来的勇气以及希望,所以我开始大幅度设计那边要更动,
也不再害怕哪边可能会大挂点,因为至少先有个样子再说嘛(先求有再求好嘛)。
-
快速结案
大量修改源代码,因为已经到这地步了,不赶快把它了结也不行啦,常言道:头都剪了,不洗不行了(= =a)。
-
大量Bug蜂涌而至
妈啊,怎么这么多虫虫啊,虽然前面已经有心理准备,但是常常改一个再跑三个出来,认命啦,修改吧!胖皮,
改完啰,现阶段好像都ok啰,也好一阵子没有什么User Call啰,看来是真的结案啰(大误)!
-
觉悟(另一说绝望)
又过了一阵子,又有问题跑出来了,且我发现源代码内真的是有隐情啊,才了解人家当初为什么这样写嘛....,
所以又修改之后,我希望不要又过一阵子后又要再重演了(虽然我知道这一定会的!),也希望若干年后有人重写我这段的话
他也可以了解我现在的痛,哈哈。
我想以后如果还有机会改写前辈的Code,我想我会更有经验的。^^
这是我观看 The 7 stages of refactoring 后的血泪记录。
原文:大专栏 重写前人的Code? 天啊,这其中必有冤情阿!
原文地址:https://www.cnblogs.com/chinatrump/p/11458438.html