代码重构(code refactoring) 指对软件代码做任何改动以增加可读性或者简化结构而不影响输出结果。
在软件工程学里,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码,有时非正式的称为“清理干净”。在极限编程或者敏捷方法学中,重构常常是软件开发循环中的一部分:开发者轮流增加新的测试和功能,并重构代码来增进内部的清晰性和一致性。自动化的单元测试保证了重构不至于让代码停止工作。
重构既不修正错误,又不增加新的功能性。反而它是用来提高代码的可读性或者改变代码的内部结构和设计,并且移除死代码,使其将来更容易被维护。重构代码可以是结构层面抑或语义层面,不同的重构手段施行时,可能是结构的调整或语义的转换,但前提是不影响代码在转换前后的行为。特别是,在现有的程序结构下,给一个程序增加新的行为可能非常的困难,因此开发人员可能先重构这部分代码,使加入新行为变得容易。
频繁的重构之后,总会有一些通用的模式在里面,将这些通用的模式总结起来,构成了设计模式。
设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对适应变化的能力。
模式(pattern), 在物体或事件上,产生的一种规律变化与自我重复的样式与过程。在模式之中,某些固定的元素不断以可预测的方式周期性重现。最基本而常见的模式,称为密铺,具备重复性与周期性两大特征。找寻出固定模式是人类基本的认知功能之一。