• 对软件重构的认识


    一、什么是重构

    重构就是在不改变软件的可观察行为的前提下,对代码进行修改,改进程序的内部结构。

    有两层含义:

    1. 不改变软件的可观察行为,对代码内部结构进行调整,不做大的变动,不做架构上调整,提高代码的可理解性,简单化,降低代码的修改维护成本。
    2. 不改变软件的可观察行为,通过一些重构手法,如设计模式、设计原则,调整软件的架构、模块等内部结构,优化代码,提高整体代码的质量。

    二、为什么要重构

    技术不断发展,程序会慢慢老化,老程序会存在以下问题:

    1. 大量重复代码让人很难理解,新增特性需要涉及阅读理解其他一大堆的无用代码。
    2. 程序接口文档缺失,模块内外耦合严重。
    3. 模块内的功能实现堆砌式,随便使用全局变量、控制变量,不断增加控制分支,导致维护难度不断增加,程序异常也不断增加
    4. 运行时逐渐出现内存、CPU、存储空间等资源不足,使用过高等问题出现,急切优化程序
    5. 功能类似,代码重复,工作量增加,效率很低,不利于软件发展。等等

    当一个软件产品出现了以上问题的,就需要重构该软件产品了。

    三、重构的好处

    1. 重构可以改进程序内部结构,跟着技术不断发展,防止逐渐腐败
    2. 重构可以使软件产品的架构更清晰,简化代码裸机,去除重复代码,使人更容易理解,更容易维护,更容易持续演进
    3. 重构可以使软件产品更容易拓展,提高开发效率。符合program smart标准:
      1. performance高效
      2. protable可移植
      3. security安全
      4. maintainable可维护
      5. reliability可靠
      6. readable可读
      7. testable可测试

    四、重构的分类

    重构有多个层次,每一层的重构意义不同:

    1. 第一层:功能正确,外在功能表现与需求一致
    2. 第二层:无漏洞风险,满足基本安全规范要求
    3. 第三层:代码整洁,满足基本的编码规范要求,代码简洁易懂易维护
    4. 第四层:架构优雅,高内聚低耦合,易拓展、可移植,使用算法精巧
    5. 第五层:软件产品在不断的演进,不断更新。

    具体的重构类别:

    1. 架构级重构:属于大规模的重构活动,要求比较高,是一项大功能,需要架构师、专家参与并落实
    2. 模块级重构:开发人员可以评估落实方案,要求一般。
    3. 函数级重构:最多的重构活动,在日常的开发过程即可完成。
  • 相关阅读:
    23种模式之一— — — —适配器模式的详细介绍与讲解
    css第二课:外部样式link和import的运用及行内样式的介绍
    数据结构与算法-(9)---双端队列(Deque)
    Linux内存管理 | 一、内存管理的由来及思想
    如何在WORDPRESS里面添加GLEGoogle Tag Manager广告跟踪代码
    小程序 | 小程序后端用什么语言开发比较好
    Python实现猎人猎物优化算法(HPO)优化循环神经网络回归模型(LSTM回归算法)项目实战
    通过怪物展示Demo理解游戏设计模式中的迭代器模式
    C语言数组
    C++ Decltype 关键字
  • 原文地址:https://blog.csdn.net/use_admin/article/details/125550960