| 查看: 431 | 回复: 0 | |||
| 当前主题已经存档。 | |||
[交流]
什么是软件重构(Refactoring)
|
|||
|
什么是Refactoring? 每个人似乎都有自己的Refactoring的定义,尽管他们讲的就是同一件事情。在那么多的定义中,最先对Refactoring进行理论研究的Raloh Johnson的话显然更有说服力: Refactoring是使用各种手段重新整理一个对象设计的过程,目的是为了让设计更加灵活并且/或者更可重用。你可能有几个理由来做这件事情,其中效率和可维护性可能是最重要的原因。 Martin Fowler[Fowler]把Refactoring定义为两部分,一部分为名词形式: Refactoring(名词): 在不改变可观察行为的前提下,对软件内部结构的改变,目的是使它更易于理解并且能够更廉价地进行改变。 另一部分则是动词形式: Refactor(动词): 通过应用一系列不改变软件可观察行为的refactoring来重构一个软件。Martin Fowler的名词形式就是说Refactoring是对软件内部结构的改变,这种改变的前提是不能改变程序的可观察的行为,这种改变的目的就是为了让它更容易理解,更容易被修改。动词形式则突出Refactor是一种软件重构行为,这种重构的方法就是应用一系列的refactoring。 软件结构可以因为各种各样的原因而被改变,如进行打印美化、性能优化等等,但只有出于可理解性、可修改、可维护目的的改变才是Refactoring。这种改变必须保持可观察的行为,按照Martin的话来说,就是Refactoring之前软件实现什么功能,之后照样实现什么功能。任何用户,不管是终端用户还是其他的程序员,都不需要知道某些东西发生了变化。 [ Last edited by 幻影无痕 on 2006-11-13 at 08:13 ] |
» 猜你喜欢
085600 英一数二272求调剂
已经有15人回复
材料调剂
已经有3人回复
高分子化学与物理调剂
已经有15人回复
268求调剂
已经有7人回复
289求调剂
已经有8人回复
理学,工学,农学调剂,少走弯路,这里欢迎您!
已经有6人回复
中国科学技术大学材料与化工281求调剂,有科研和获奖经历
已经有4人回复
283求调剂
已经有4人回复
275求调剂
已经有6人回复
284求调剂
已经有5人回复













回复此楼
5