重构原则

一、何谓重构(What)

视上下文的不同,重构有两种定义:

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

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

1、重构的目的是使软件更容易被理解和修改。

2、重构不会改变软件的可观察的行为——重构之后软件的功能一如以往。

在使用重构技术开发软件时,有两种截然不同的行为:添加新代码,以及重构。这便是“两顶帽子”。

添加新功能时,你不应该修改既有代码,只管添加新功能。通过测试,你可以衡量自己的工作进度。 
重构时你就不能再添加新功能,只管改进程序结构,只在绝对必要时才修改测试。

二、为何重构(Why)

1、重构改进软件设计

2、重构使软件更容易理解

3、重构帮助找到bug

4、重构提高编程速度

三、何时重构(When)

这里作者提出:几乎任何情况下,都反对专门拨出时间进行重构。重构应该随时随地进行。你不应该为重构而重构,之所以重构,是因为你想做别的什么事,而重构可以帮你把那些事做好。

三次法则:第一次做某事只管去做;第二次做类似的事,虽然会反感但也可勉强去做;第三次再做类似的事,你就该重构了。

事不过三,三则重构。

1、添加功能时重构

最常见的时机就是给软件添加新特性的时候,可以帮助我理解需要修改的代码。

如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构那个程序,使特性的添加比较容易进行,然后再添加特性。

2、修补错误时重构

调试过程中运用重构,为了让代码更具可读性,可以加深自己的理解,找出bug。

3、复审代码时重构

重构可以帮助我复审别人的代码,还可以帮助代码复审工作得到更具体的结果。

何时不该重构

1、重新编写所有代码的时候

有时候既有代码太混乱,重构不如重写来的简单。

重写有一个清楚的讯号:现有代码根本能不正常运行,代码里面满是错误,无法稳定运行。

2、项目已近最后期限

重构的确能提高生产力。如果最后没有足够时间,就表示你其实早该重构。

任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值