【笔记】《重构-改善既有代码的设计》

来源:互联网 发布:手机软件广告拦截软件 编辑:程序博客网 时间:2024/06/01 20:14

所谓重构是这样一个过程:「在不改变代码外在行为的前提下,对代码做出修改,以改进程序的内部结构」。重构是一种有纪律的、经过训练的、有条不紊的程序整理方法,可以将整理过程中不小心引入错误的机率降到最低。本质上说,重构就是「在代码写好之后改进它的设计」。

重构目的

  • 改善设计,提高适应性
  • 易维护易扩展
  • 找出bug,消除潜在bug
  • 编码高效

重构原理

在不破坏可察功能的前提下,借由搬移、提炼、打散、凝聚…,改善事物的体质。

重构最佳实践方式

一次一小步的修改代码,减少风险
严谨的重构准则和严密的重构手 法,「稳定中求发展」

  • 可靠的测试
  • 切分长函数
  • 改更清晰明确的名称
  • 去除临时变量
    注意有效优化:对循环耗时进行评测(profile),避免循环耗时过多降低性能
  • 按功能提炼函数
  • 清理代码
  • 重复代码合而为一,提炼函数
  • 去除未来式抽象类,预留参数,过多中间层
  • 清晰的名字

重构是这样一个过程:它在一个目前可运行的程序上进行,企图在「不改变程序行为」的情况下赋予上述美好性质,使我们能够继续保持高速开发,从而增加程序的价值。

如果你对大多数程序进行分析,你会发现它把大半时间都耗费在一小半代码身上。如果你一视同仁地优化所有代码,90%的优化工作都是白费劲儿,由于你把注意力都集中在热点上,较少的工作量便可显现较好的成果。

自动化重构工具

重构的基本技巧——小步前进、频繁测试

替换一个巨大而复杂的算法是非常困难的,只有先将它分解为较简单的小型函数,然后你才能很有把握地进行算法替换工作。