序
说到重构,大家自然而然会想到很多,不管是怎么开始的,也不管是怎么个重构的过程,到最后都会是两种结果,其一是,重构的很成功,冗余代码得到了简化,代码的可读性、可维护性也有了很大的提高。其二嘛,都能想的到,就是重构失败,这个失败的原因可能有很多。
背景
前两篇文章中,分别说明了重构的开始和重构的过程,至于重构的结果嘛,不用我说,大家也都可以想到有两种情况,成功和失败嘛。但是,为什么这里还是要说说结果呢,是因为,对于我来说,我认为,重构的结果固然重要,但是,在重构过程中,你学到的东西要比结果更重要。
感悟
今天的这篇文章,我不打算写所谓的正文,但是,我想通过自己的一点感悟来说说对重构的理解。
首先是起点
起点,是当我们闻到代码的“坏味道”,作为一个程序员自我认为的责任感,也可以说是自我修养,把“坏味道”剥离出来,重新设计、抽象、改变为整洁、优秀的代码。至于哪些是所谓的“坏味道”,这个在第一篇文章中已经有所涉及,这里就不再赘述。
我个人认为,找到起点并开始进行重构是很重要的事情,因为很多老的项目中,能够开始重构是鼓起了很大的勇气,除非老项目根本不能支持现在的需求,也会要求重构的。但是,我认为,前者的分险更大一些。
其次是过程
过程,是当我们开始了重构的第一步之后,就要考虑的问题。使用什么样的方法,能够对不同的问题,不同的冗余一 一解决。《重构》一书中也给了很详细的说明,甚至都给出了很多的方案,并给方案进行了命名。从这个过程中,我们尽量剥离业务相关的逻辑,抽象出公用的方法、类,尽量保持代码的唯一性和整洁性。在重构之时,尽量多考虑采用设计模式的方法进行解决。
从重构的过程中,我们可以看到腐败的代码,也可以修改为优秀的代码,然而对比这两者间的不同,就可以发现,好的代码是非常简洁的,多学习优秀的代码,可以使得我们能够提高自身的修养,不仅对开发、编码来说很重要,对于各个模块的设计也是很有必要的。
最后是结果
还是那句话,好的结果是我们所期盼的,如果因为各种原因导致失败,那么最起码在这个过程中,我们学到了很多。
结束语
其实,这三篇文章只是我对《重构》这本书的简单的理解,自己也重构了几个小模块,这其中有成功的,也有失败的,在这个过程当中,收获是巨大的,不仅仅在代码上,在设计上,在视野上也更加开阔了,更加认识到自己的渺小。
重构的结束,代表着另一个方向的开始,只有好的设计,基于全局的设计,才能结束重构的局面。