1. 首页
  2. 文档大全

第2章 重构原则

上传者:5****1 2022-07-05 00:25:08上传 PPT文件 29KB
第2章 重构原则_第1页 第2章 重构原则_第2页 第2章 重构原则_第3页

《第2章 重构原则》由会员分享,可在线阅读,更多相关《第2章 重构原则(20页珍藏版)》请在文档大全上搜索。

1、第2章 重构原则2.1 概念 调整软件内部结构,在不改变软件行为前提下,提高其可理解性,降低修改成本。 重构使软件更容易被理解和修改。可以在软件内部做很多修改,但必须对软件可观察到的外部行为造成很小变化,或不造成变化。 和重构形成对比的是“性能优化”。性能优化通常不会改变组件的行为(除了执行速度),只会改变其内部结构。 两者出发点不同,性能优化往往使代码较难理解,但为了得到所需性能不得不那么做。 2.2 重构目的改进软件设计 如果没有重构,程序的设计会变差。 当人们只为短期目的或者在完全理解整体设计之前,贸然修改代码,程序将逐渐失去自己的结构,程序员越来越难以通过阅读源码而理解原本设计。代码结

2、构的流失是累积性的。越难看出代码所代表的设计意涵,就越难保护其中设计,于是该设计就腐败得愈快。 重构很像是在整理代码 ,所做的就是让所有东西回到应该的位置上。经常性的重构可以帮助代码维持自己该有的形态 。 同样完成一件事,设计不良的程序往往需要更多代码,这常常是因为代码在不同的地方使用完全相同的语句做同样的事。因此改进设计的一个重要方向就是消除重复代码。 这个动作的重要性着眼于未来。代码数量减少并不会使系统运行更快,然而会使未来可能的程序修改变得容易得多。代码愈多,就愈难正确修改,因为有更多代码需要理解。如果消除重复代码,就可以确定代码将所有事物和行为都只表述一次,这是优秀设计的根本。 2.

3、使软件更易被理解 一、使别人容易理解。 谓程序设计,便是与计算机交谈。编写代码告诉计算机做什么事,它的回应则是精确按照你的指示行动。除了计算机外,源码还有其他读者:数个月之后可能会有另一位程序员尝试读懂你的代码并做一些修改。 二、利用重构来协助理解不熟悉的代码。 看到不熟悉的代码,需试着理解它的用途。有了重构这个概念,就不会满足头脑中得到的一点体会。而是真正动手修改代码,让它更好地反映出我的理解,然后重新执行,看它是否仍然正常运作,以此检验我的理解是否正确。随著代码渐趋简洁,发现自己可以看到一些以前看不到的设计层面的东西,达到更高的理解层次。3.有助找到缺陷(bug) 如果对代码进行重构,就可

4、以深入理解代码的作为,恰到好处地把新的理解反馈回去。搞清楚程序结构的同时,也清楚了自己所做的一些假设,从这个角度来说,从而非常容易的找出缺陷。4.提高编程速度 良好设计是快速软件开发的根本。拥有良好设计才可能达成快速的开发。如果没有良好设计,或许某一段时间内程序进展迅速,但恶劣的设计很快就让速度慢下来。程序员会把时间花在调试上面,无法添加新功能。修改时间愈来愈长,因为必须花愈来愈多的时间去理解系统、寻找重复代码。随著给最初程序打上一个又一个的补丁,新特性需要更多代码才能实现。这是个恶性循环。2.3 何时重构1. 添加功能时 最常见的重构时机就是想给软件添加新特性的时候。这些代码可能是别人写的,

5、也可能是自己写的。无论何时只要想理解代码所做的事,就会问自己:是否能对这段代码进行重构,使我能更快理解它。之所以这么做,部分原因是为了下次再看这段代码时容易理解,但最主要的原因是:如果在前进过程中把代码结构理清,就可以从中理解更多东西。 另外,现有代码的设计无法帮助轻松添加所需要的特性。如果改用某种方式来设计,添加特性会简单得多。修补错误时复审代码时 重构可以帮助复审别人的代码。开始先阅读代码,得到一定程度的理解,并提出一些建议。一旦想到一些点子,就会考虑是否可以通过重构立即轻松地实现它们。这样可以把代码看得更清楚,提出更多恰当的建议。 重构还可以帮助代码复审工作得到更具体的结果。不仅获得建议


文档来源:https://www.renrendoc.com/paper/212678936.html

文档标签:

下载地址