重构改善代码既有设计

重构

带问题看书

  • 什么是重构?

  • 何时应该重构?

  • 哪些地方要重构?

  • 如何开始重构?

什么是重构

在不改变代码外在行为的前提下,对代码进行修改,以改进程序的内部结构

为什么应该重构

如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便的达成目的,那就先重构这个程序,使特性的添加较为容易,然后再添加特性

事不过三,三则重构

何时不应该重构

只有绝大部分代码可以正常工作的时候才能重构,否则就是重写

如何开始重构?

  • 重构前必须先有测试配套
  • 重构应该逐步微小修改
  • 重命名有意义的变量
  • 不断缩减长代码
  • 搬移代码到它应该在的地方
  • 一个函数只做一件事
  • 寻找引用点

重新开始组织函数

  1. 提炼函数:将代码放到一个独立函数中,并让函数名称解释该段代码用途
    • 以它做什么命名而不是怎么做命名
  2. 内联函数:在函数调用点插入函数本体,然后移除该函数(函数需要非常简单)
  3. 内联临时变量:将所有对该变量的引用动作,替换为它赋值的那个表达式本身
  4. 以查询取代临时变量:把表达式提炼到一个独立函数中,将这个临时变量的所有引用点替换为对新函数的调用,此后新函数可被其他函数复用
  5. 使用解释性变量
  6. 分解临时变量
  7. 移除对参数的赋值
  8. 使用函数对象取代函数
  9. 替换算法
Author: liuarui
Link: https://liuarui.github.io/2021/06/25/编程范式/重构改善代码既有设计/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.