软件重构

来自术语
跳转至: 导航搜索

    在不改变软件原有功能的基础上,为改善软件的质量、性能、结构或提高软件的可扩展性和维护性,而对其程序代码或模型进行修改的活动。

属性[编辑]

情况 不改变软件的功能和外部可见性 英文名 software restructuring
支持 单元测试 目的 提高清晰性、可扩展性和可重用性
中文名 软件重构

简介[编辑]

软件重构需要借助工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。

重构代码[编辑]

重构一词通常是指在不改变代码的外部行为情况下而修改源代码,有时非正式地成为“清理干净”。在极端编程方法学中,重构常常是软件开发循环的一部分: 开发总是或者增加新的测试和功能,或者重构代码来改善内部的一致性和清晰性。测试保证了重构没有改变代码的外部行为。

重构是代码维护中的一部分,既不修正错误,又不增加新的功能性。而是用于提高代码的可读性或者改变代码的结构和设计,使其在将来更容易被维护。特别是,在现有的程序的结构下,给一个程序增加一个新的行为会非常困难,因此开发人员可能先重构这部分代码,使加入新的行为变得容易。

这个术语是从数字与多项式的因式分解类比而来。如,x2 − 1 可以被分解为 (x + 1)(x − 1), 这样揭示了前面的形式不可见的内部结构(如两个根+1和-1)。同样,在软件重构中,在可见结构上的改变通常会揭示原有代码中“隐藏”起来的内部结构。

为了简化测试,重构是分步骤完成的。当重构结束後,任何行为上的变化无疑都是错误并可以与调试一个一个新特性的问题分开解决。



链接[编辑]

Zhishi.me http://zhishi.me/baidubaike/resource/软件重构
http://zhishi.me/hudongbaike/resource/软件重构
http://zhishi.me/zhwiki/resource/软件重构