改善既有代码——重构

2016-05-26
新大楼903
曹冬林

定义:保证原有功能的情况下,重组、重排代码

Y:重构应随时随地进行;当看到一个更好的方式来做同一件事的时候
N:稳定的代码;别人的代码;没有重构方案的情况下

代码的坏味道:

  • Duplicate Code
  • Long Method
  • Large Class
  • Long Parameter List
  • Divergent Change(发散式变化)
  • Shotgun Surgery(散弹式修改)
  • Feature Envy(依恋情结)
  • Switch Statements(Switch惊悚现身)

常用的重构手段:

  • Extract Method(提炼函数)
  • Extract Class(提炼类)
  • Inline Class(将类内联化)
  • Move Method(搬移函数)

重构技巧:

  • 分解表达式(用函数代替条件表达式)
  • 移除双重否定
  • 减少临时变量
  • 提前判断
  • 冗余方法的分割(提炼方法)
  • 提取代码中的常量

重构建议:

  • 每次一小步,有目的性的重构
  • 必须测试通过
  • 针对问题而重构
  • 随时随地重构
  • 重构结果不改变功能
  • 不要在发布前去重构

你可能感兴趣的:(改善既有代码——重构)