Skip to content

重构 改善既有代码的设计

代码的坏味道

  • 神秘命名
    • 函数改名
    • 变量改名
    • 字段改名
  • 重复代码
    • 提炼函数(完全重复的代码)
    • 移动语句(把相似的部分方法放在一起以便提炼)
    • 函数上移(重复的代码段位于同一个超类的不同子类)
  • 过长函数
    • 每当感觉需要注释来说明点什么的时候,就可以把徐璈说明的东西写进一个独立函数中,以其用途进行命名
      • 如果很难进行命名,说明需要进一步拆分
    • 提炼函数
    • 查询取代临时变量
    • 参数对象、保持对象完整(简洁的参数列表)
    • 条件表达式、循环、分支通常都是提炼的信号
  • 过长参数列表
    • 过长的参数列表令人迷惑
    • 查询取代参数(向某个参数发起查询而获得另一个参数的值)
    • 保持对象完整(直接传入整个数据结构)

重构方式