http://www.cnblogs.com/lane_cn/archive/2006/02/05/325782.aspx
什么是重构
重构,用最简单的一句话说:就是要在不改变系统功能的情况下,对系统的内部结构进行重新调整。重构的最直接目的在于改进软件系统的内部架构。一个好的结构可以更加适应于需求的变化,更好的满足客户的需求,最大限度的延长软件系统的生命周期。
为什么要重构
在不改变系统功能的情况下,改变系统的实现方式。为什么要这么做?投入精力不用来满足客户关心的需求,而是仅仅改变了软件的实现方式,这是否是在浪费客户的投资呢?
重构的重要性要从软件的生命周期说起。软件不同与普通的产品,他是一种智力产品,没有具体的物理形态。一个软件不可能发生物理损耗,界面上的按钮永远不会因为按动次数太多而发生接触不良。那么为什么一个软件制造出来以后,却不能永远使用下去呢?
对软件的生命造成威胁的因素只有一个:需求的变更。一个软件总是为解决某种特定的需求而产生,时代在发展,客户的业务也在发生变化。有的需求相对稳定一些,有的需求变化的比较剧烈,还有的需求已经消失了,或者转化成了别的需求。在这种情况下,软件必须相应的改变。
考虑到成本和时间等因素,当然不是所有的需求变化都要在软件系统中实现。但是总的说来,软件要适应需求的变化,以保持自己的生命力。
这就产生了一种糟糕的现象:软件产品最初制造出来,是经过精心的设计,具有良好架构的。但是随着时间的发展、需求的变化,必须不断的修改原有的功能、追加新的功能,还免不了有一些缺陷需要修改。为了实现变更,不可避免的要违反最初的设计构架。经过一段时间以后,软件的架构就千疮百孔了。bug越来越多,越来越难维护,新的需求越来越难实现,软件的构架对新的需求渐渐的失去支持能力,而是成为一种制约。最后新需求的开发成本会超过开发一个新的软件的成本,这就是这个软件系统的生命走到尽头的时候。
重构就能够最大限度的避免这样一种现象。系统发展到一定阶段后,使用重构的方式,不改变系统的外部功能,只对内部的结构进行重新的整理。通过重构,不断的调整系统的结构,使系统对于需求的变更始终具有较强的适应能力。
分享到:
相关推荐
从为什么要重构到微服务架构.pdf
重构――是指在不改变软件任何功能的前提下对代码进行修改,调整其结构,提高其可理解性,降低其修改的成本。
...
1. 重构的目的:为什么重构(why) 2. 重构的对象:重构什么(what) 3. 重构的时机:什么时候重构(when) 4. 重构的方法:如何重构(how)
重构_改善既有代码的设计这本电子书介绍了代码重构的知识,为什么要重构,以及是如何重构等
重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt重构ppt
三维重建 分层重构 先进性射影重构 在进行仿射重构 最后进行欧式重构即度量重构 代码中的TEST6.1是射影重构可以直接运行的 严重鄙视网上下载的没头没尾的资源
重构重构重构重构重构重构重构重构重构重构
基于pcl对三维点云进行表面重建,以获取其表面形貌
r重构r重构r重构r重构r重构r重构r重构r重构r重构
音频信号重建,描述音频重构经典算法,对于恢复信号特别有用
2020-01-06 王争设计模式之美进入课程讲述:冯永吉时长 19:24大小 15.55M上一节课中,我们对“为什么要重构、到底重构什么、什么时候重构、该如何
书籍介绍了什么是重构,为什么要重构,通过实例讲解重构的方法。适合软件开发人员深入阅读,提高写代码的质量。
实现CT扇形束重建,医学断层图像重建仿真实验书中部分代码
三维重构 可以检测有效的系统缺陷,进行缺陷的定位,缺陷体积的测量等,如何进行三维重构(3D reconstuction)的输入是各种三维以下的数据,比如纯二维的RGB图像(序列)、带有深度信息的RGBD数据等,出来的是三维...
为什么需要重构? 在软件开发过程中,我们经常会发现代码变得越来越复杂、难以维护和扩展。这是因为随着软件的演进,代码的结构和设计可能会变得不够灵活和scalable。此时,重构就变得非常必要了。通过重构,我们...
很好的源码,思路清晰,利用双目实现的,大家有兴趣使用的可以直接下载,可以应用到比赛和论文内的,工具是matlab,代码也很好理解
基于双目的三维模型重建,模型比较简单,适合刚入门需要的