定义
在不改变软件系统外部行为的前提下,改善它的内部结构。英文名字为:Code refactoring
核心行为:
调整程序代码,即在 代码上做文章。
终极目标:
改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。
原因:
让软件适应需求的变更,增强自己的生命力。
具体目标
1.持续纠偏和改进软件设计
重构与设计相辅相成,彼此互补,重构其实就是整理代码,让所有带着发散倾向的代码回归本位。
2.帮助发现隐藏的代码缺陷
通过重构代码可以加深对原设计的理解,发现其中的问题和隐患,构建出更好的代码。
3.有助于提高编程效率
拙劣的设计往往导致臃肿的编码,重构虽减缓开发速度,但后续能量不可估量。
生存环境
A.代码重复:
同一个类中有相同的代码;不同类中有相同的代码
B.繁琐冗余:
(1)类过大,方法过长,采取分而治之的方案解决
(2)殊途同归:多个类或方法具有相同或相似的功能
C.修改:
牵一发而动全身,当修改或增加一个小功能时,发生代码地震
D.类的通讯:
类与类之间调用多次
E.信息链:
过度耦合的信息链,可能因链接层太多而导致
F.必要注释:
缺乏必要的注释,出现“提笔忘字,愈言且止”的现象
一言以蔽之:“代码坏味道”便是重构的标识
难点分析
*数据库:
重构会导致数据库出现问题,需增加分隔层避免这种现象的产生
*接口:
重构在更多情况下要修改接口,解决此问题方案,第一,保留旧接口,第二,发布接口不宜过早
流程
1)读懂代码(包括测试例子代码)
快速编写软件的方法
值得关注
==重写不同于重构,现有代码根本不能正常运作需要重写
==项目已接近最后期限,重构不适宜
==重构与设计相辅相成
编者寄语
人生,只有你自己想努力,才能真正的努力。这是任何人都无法用逼迫让你达到的目的,它只能是出由你自己内心的意愿,你才会真正的着手去调整,去完善,去提升,去塑造一个更好的自己。