我们需要重构吗

Posted 风云无敌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我们需要重构吗相关的知识,希望对你有一定的参考价值。

     当我开始写这篇文章的时候 ,我的思想还处于斗争阶段,多年来我也在程序开发的第一线,经历了很多项目,也编写了很多代码,但是从心里说我几乎没有用到重构这一方法,但最近看一本书名字叫《重构 改善既有代码的设计》 ,它让我感觉我这些年的迷惑终于找到了明灯。

  我以前认为代码只要实现了就OK了,不用再去动他了,不管当时实现时绕了多少个圈,用了多少冗余代码。有时候想想也是既然已经实现了,干嘛还要化那么多精力去装饰那些代码,而且保证系统功能正常运行和项目按时完成是第一要务,剩下的一切都变得不在重要了。当我开始读完这本书的时候,我发现我错了,大错特错,重构并不是作为装饰代码的步骤而存在的而是为了能够更好的维护代码,减少出错,增加代码执行的正确率。试想一下如果在一段代码里面各种局部变量来回的交叉,各种if,switch,for 来回的出现,你还愿意去维护它,我想我更愿意去重写这段代码,而不是去维护它,我经常跟同事开玩笑说“当我代码写完以后,不要问我怎么实现的,我也不知道”,其实这不是在开玩笑,是真的,很多时候我写完一段代码,我真不知道他是怎么实现的。当然我也不是一直在给别人挖坑,有时候也会给别人填坑,当打开源代码的时候,我常常会说一句“这个代码太烂了,我重写如何”。哈哈我们程序员,果然是互相伤害的群体啊。我经常在幻想自己写的程序能够活5年,10年,虽然我没有统计过,但是从这本书中我看到的是我写的东西估计一个礼拜都活不下来,都是一次性的产品,维护性奇  

  我以前还以为我采用某套开发框架("MVC","SSH","MVVM")就不用操心维护问题,毕竟这些都是些开发模板嘛,只要对这些框架熟悉的人都能很好的维护代码,能够开发出可读性好的代码。结果我还是错了,开发框架提供的只是模板,里面的内容还是我自己填充的,就像一件华丽的套装里面装着的确是一堆发黑发臭的屎一样。重构给我的就是一个让代码编得更加规则的可以维护的,能够更大的发挥模板价值的武器。它让系统更加的标准,更加清新。

     我以前总是鄙视那些把代码放得导出都是的人,觉得他们就是为了显示自己高明老是把代码,分割成好多块,执行代码的时候要创建好多实体,多么浪费的行为啊。确实要是把所有的相关逻辑写在一个方法里面,执行效率看似很高, 当系统真正运行的时候,你会发现,其实有时系统不在乎那点时间,如果代码不可维护,出问题了,系统整体的寿命就大打折扣了。

说了那么多,回到起点,其实重构虽然不是必须的步骤,但确是一个可以为自己和自己的成果加分的部分。谁都喜欢尽善尽美不是吗?

以上是关于我们需要重构吗的主要内容,如果未能解决你的问题,请参考以下文章

我们需要循序渐进的代码重构

为什么服务需要持续重构

Eclipse 重构菜单

数据清洗合并转化和重构

Android Studio 3.5 重构问题

我应该重构以便能够使用 XCTests 进行模拟吗?