最近有个机会,可以把遗留的代码完全梳理一下,甚至可以按照我最理想的方式去改造,当时我是很开心的,因为老代码中有一块是非常地黑暗的,我一直想简化一下,机会终于到了!!
先介绍一下那块代码,从2010年至今,不断膨胀,现在一个cpp里面,已经有1w多行了,而且业务逻辑错综复杂,相互交织,牵一发而动全身,函数层层嵌套,一个命令,要辗转6、7个函数才可以,非常的麻烦。
但是随着修改的进行,我慢慢发现,大多数现存的代码,都是有其存在的原因的,如果继续下去,我不过是把一加一等于二写成了1+1=2,于我是很清楚了,但是后人来看,还是要绕一大圈去理解为什么。一切的本质没有改变。而且由于之前的考虑不周,会造成版本之间的问题(数据库存的信息不同之类)。而且时间又突然不够了…
于是,只好把改的代码存档,又滚去把原来的逻辑修修改改。
经此一役,终于明白了为什么大家都劝着尽量少重构。
很多时候,你想到的,前人有可能也想到了,就算没想到,也不是什么致命的问题,不然这样的代码也传不到你手里。
大部分的问题不是单因素的,反而是多因素相冲突的,我们能做的,只是勉强去保持平衡,取一个相对过得去的结果。
你的代码,先正常跑起来再说