《代码重构》

来源:互联网 发布:大数据在医疗领域应用 编辑:程序博客网 时间:2024/06/05 20:56

定义

    在不改变软件系统外部行为的前提下,改善它的内部结构。英文名字为:Code refactoring

核心行为:

     调整程序代码,即在 代码上做文章。

终极目标:

    改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

原因:

    让软件适应需求的变更,增强自己的生命力。

具体目标

1.持续纠偏和改进软件设计

     重构与设计相辅相成,彼此互补,重构其实就是整理代码,让所有带着发散倾向的代码回归本位。

2.帮助发现隐藏的代码缺陷

     通过重构代码可以加深对原设计的理解,发现其中的问题和隐患,构建出更好的代码。

3.有助于提高编程效率

     拙劣的设计往往导致臃肿的编码,重构虽减缓开发速度,但后续能量不可估量。

生存环境


A.代码重复:

     同一个类中有相同的代码;不同类中有相同的代码

B.繁琐冗余:

    (1)类过大,方法过长,采取分而治之的方案解决 

    (2)殊途同归:多个类或方法具有相同或相似的功能

C.修改:

     牵一发而动全身,当修改或增加一个小功能时,发生代码地震

D.类的通讯:

      类与类之间调用多次

E.信息链:

      过度耦合的信息链,可能因链接层太多而导致

F.必要注释:

      缺乏必要的注释,出现“提笔忘字,愈言且止”的现象

一言以蔽之:“代码坏味道”便是重构的标识

难点分析

*数据库:

     重构会导致数据库出现问题,需增加分隔层避免这种现象的产生

*接口:

    重构在更多情况下要修改接口,解决此问题方案,第一,保留旧接口,第二,发布接口不宜过早

流程

   1)读懂代码(包括测试例子代码)

         2)进行重构
   3)运行所有的Unit Tests

                                快速编写软件的方法

1)时间预算法
       在设计时就对程序花费的时间进行预算,通常用于性能要求极高的实时系统.普通的企业应用程序一般对性能要求不高.只要不太慢就可以了 。
2) 持续关注法
       要求程序员在任何时间都要设法保持系统的高性能.这个方法有个缺陷,就是大部分的程序90%的优化工作都是白费劲,这样会浪费大量的时间 。
3) 良好的分解方式
       这个方式是在开发程序阶段不对性能投以任何关注,直到进入性能优化阶段,再分析程序中性能差的程序,然后对这些程序进分解,查出性能差的程序,进行优化。


值得关注

==重写不同于重构,现有代码根本不能正常运作需要重写

==项目已接近最后期限,重构不适宜

==重构与设计相辅相成

编者寄语

    人生,只有你自己想努力,才能真正的努力。这是任何人都无法用逼迫让你达到的目的,它只能是出由你自己内心的意愿,你才会真正的着手去调整,去完善,去提升,去塑造一个更好的自己。



0 0