遗留代码-有感于程序员漫画

本来没打算写这篇文章,后来看到了下面这幅漫画,还是写写吧,纯属自娱自乐。



刚毕业那会儿在一家创业公司工作,做我那块工作只有两个人,从0开始做起,不受遗留代码的困扰。


大半年后公司关门,于是去了另外一个A股上市公司,刚好赶上项目起步阶段,承蒙项目负责人信任成为了项目组的核心成员。由于是核心成员所以对项目有话语权和很大的决策权,对项目相当熟悉,有那种如数家珍的感觉。又因为熟悉,所以我能大刀阔斧的来做任何事情,自己清楚的知道自己的修改会对哪些地方产生直接或间接影响,做到透过现象看本质是没问题的。我一直认为同样的技术每个人的理解不尽相同,直接导致了在项目中的表现形式不同,有的时候甚至是后来人根本无法理解的,这也凸显了文档及注释的重要性。所以我会在核心代码中写大量的注释,之所以这样做原因有二,一是方便以后自己看代码,二是方便后来人。对于处于开发后期的代码我更愿意用注释代替删除(开发后期项目已经成型并且代码相对稳定,主要做一些细节调整),比如某个属性是多余的,存在的话会导致一些问题,我会将该属性注释掉并写明会导致什么样的问题,比如“该属性多余,若存在将导致子节点顺序错乱”。


没有文档和注释维护遗留代码是非常艰难的(尤其对于JavaScript这类动态语言),因为你不知道当时什么情形,你不知道当时为什么这么做,你不知道当时的程序员是怎么想的,你更不知道你的修改会有什么样的影响,所以很多维护遗留代码的人选择了if。你可能连程序中看起来显然多余的代码都不敢清除掉,因为你不知道在什么情况下那段代码有用,你也不知道删掉会给你带来什么,也许是通宵的加班。这样的话代码会越来越无法维护,最后的最后只能重新开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值