01. 重构原则

目录

一 重构定义

    1.1 重构当做名词

    1.2 重构当做动词

二 为何重构

    2.1 重构能改进软件设计

    2.2 重构使软件更容易理解

    2.3 重构帮助找到 bug

    2.4 重构提高编程速度

三 何时重构

    3.1 三次法则

    3.2 添加功能时重构

    3.3 修补错误时重构

    3.4 复审代码时重构


一 重构定义

    视上下文的不同,“重构”这个词有两种不同的定义:

    1.1 重构当做名词

        对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可用性,降低其修改成本。

    1.2 重构当做动词

        使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。

二 为何重构

    重构是一个工具,它可以用于以下几个目的:

    2.1 重构能改进软件设计

        重构就像是整理代码,所做的就是让所有东西回到应处的位置上。代码结构的流失是积累性的,越难看出代码的设计意图,

        就越难保护其中设计,于是该设计就腐败的越快。经常性的重构可以帮助代码维持自己该有的形态。改进设计的一个重要

        方向是消除重复代码。

    2.2 重构使软件更容易理解

        重构可以帮助我们让代码更容易被阅读,一开始进行重构时,你的代码可以正常运行,但结构不够理想,在重构上花一点

        点时间,就可以让代码更好表达自己的用途,这种编程模式的核心就是“准确说出我所要的”。重构可以协助理解不熟悉的

        代码,因为当你想对一些代码进行修改时,必须首先理解这个代码的用途。

    2.3 重构帮助找到 bug

    2.4 重构提高编程速度

        良好的设计是快速开发的根本,事实上,拥有良好设计才可能做到快速开发。如果没有良好的设计,或许某一段时间内你

        的进展迅速,但恶劣的设计很快就让你的速度慢下来。你会把时间花在调试上面,无法添加新功能。修改时间越来越长,

        因为你必须花越来越多的时间去理解系统、寻找重复代码。良好设计是维持软件开发速度的根本,重构可以帮助你更快速

        的开发软件,因为它阻止系统腐败变质,它甚至可以提高设计质量。

三 何时重构

        重构本来就不应该是专门花特定时间做的事情,重构应该随时随地进行,不应该为了重构而重构,之所以重构,是因为你

        想做别的事情,而重构可以帮助你把事情做好。

    3.1 三次法则

        第一次做某件事时只管去做;第二次做类似的事会产生反感,但无论如何还是可以去做;第三次做类似的事情,就该重构。

        事不过三,三则重构 。

    3.2 添加功能时重构

         重构的目的是更好的理解功能,可以更好、更快地添加新功能。

    3.3 修补错误时重构

         如果收到一份错误报告,这就是需要重构的信号,因为显然代码还不够清晰--没有清晰到让你一眼看出bug。

    3.4 复审代码时重构

         复审可以得到很多好的建议,获取更高层次的认识,如果不进行重构,很难得到这样的知识。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章