重写前人的Code? 天啊,这其中必有冤情阿!

时间:2019-09-04
本文章向大家介绍重写前人的Code? 天啊,这其中必有冤情阿!,主要包括重写前人的Code? 天啊,这其中必有冤情阿!使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一支历史悠久的报表,若干年后人事已非但是主管交代你改写,报表跑一次要四小时且中间就有可能会死掉,能帮你的只有源代码,你(你)要怎么办呢!?以下是我的血泪记录。


前阵子主管忽然跟我说有支年度报表的程序需要作些修改,因为跑出来大概要三四个小时,且有可能在中间就死掉了,

所以困扰那个部门很久了,希望我们可以看看问题出在哪里,所以这档事就变成我那阵子的梦靥....(泣)。

第一眼看到源代码,我就再想他怎会这样子写呢,但是又害怕其中有冤情,所以就进入了以下的轮回。

  • 绝望

因为根本不知道从何下手,也因为年代久远人事已非没有人可以询问,也没有人敢确定那些逻辑是否还是正确,

且注解也写的很玄啊,所以一整个茫然啊(空)!。

  • 从好懂的先整理

只好从一些比较简单的Method先去看懂其中的意义,改一下命名方式,或是一些你确定不会影响报表

产出的元素,改的时候还是很抖啊...!

  • 再次绝望

改完上述敢改的之后,我也不知道还能在做什么了,所以又停滞了一阵子,做些其他项目来让自己不要这么空虚,

天啊,这玩意儿好难懂啊,我冏了。

  • 开始有希望

或许是因为太久没改怕对不起主管以及那些User,不知道哪里来的勇气以及希望,所以我开始大幅度设计那边要更动,

也不再害怕哪边可能会大挂点,因为至少先有个样子再说嘛(先求有再求好嘛)。

  • 快速结案

大量修改源代码,因为已经到这地步了,不赶快把它了结也不行啦,常言道:头都剪了,不洗不行了(= =a)。

  • 大量Bug蜂涌而至

妈啊,怎么这么多虫虫啊,虽然前面已经有心理准备,但是常常改一个再跑三个出来,认命啦,修改吧!胖皮,

改完啰,现阶段好像都ok啰,也好一阵子没有什么User Call啰,看来是真的结案啰(大误)!

  • 觉悟(另一说绝望)

又过了一阵子,又有问题跑出来了,且我发现源代码内真的是有隐情啊,才了解人家当初为什么这样写嘛....,

所以又修改之后,我希望不要又过一阵子后又要再重演了(虽然我知道这一定会的!),也希望若干年后有人重写我这段的话

他也可以了解我现在的痛,哈哈。

我想以后如果还有机会改写前辈的Code,我想我会更有经验的。^^

这是我观看 The 7 stages of refactoring 后的血泪记录。

原文:大专栏  重写前人的Code? 天啊,这其中必有冤情阿!


原文地址:https://www.cnblogs.com/chinatrump/p/11458438.html