残剑

Stop walking today and you'll have to run tomorrow!

不要重写但可以重构

| Comments

大象

不久前在朋友圈有一篇关于不要重写代码的文章很火,大体意思是这样:即便原有的代码看上去很不友好,也不要尝试轻易去重写代码,因为它经过了长期的测试及修补,已经运行得很稳定,要重写的话很多逻辑可能被忽略掉,可能也要犯曾经碰到的所有错误,需要更多的人力去测试。

阅读之后,深有体会,即便是代码的书写者也未必对其中的逻辑全部了解,要让他们重写也是一件很难的事情,而且成本会很高,还不如在原来的基础上进行修改。

虽然重写是一件成本很大的事情,但我们可以不停地重构,逐步优化,最终会让代码变得完美。或者我们可以尝试如下的步骤去完善那些复杂的代码。

提取可复用的代码

不同的实现有时需要一些相类似的代码,拷贝然后稍加修改是一件极其容易的事情,但一旦某个地方出错了,其它地方可能被遗忘掉。即便是小部分的逻辑,要是增加一些控制变量,把一些代码集中到一个函数中,那么修改了一个错误就可以修改全部潜在的错误,达到事半功倍的效果。

肢解独立的功能

有些逻辑业务可以独立出来管理,阅读起来更加便利,逻辑也会变得有条理,调试起来也方便,出现问题了只需要到相应的模块查看。

重构后的代码可能需要花费更多的时间去了解其架构,但它却提升了代码的健壮性。

Comments