zoukankan      html  css  js  c++  java
  • 重构时机和重构方法之间的对应关系

    ID

    需要重构的信号

    对应的重构方法

    1

    出现了重复代码

    提取或者重组类

    提取或者重组函数、方法

    用多态处理子类重复代码

    2

    两个类耦合太多,太亲密

    提取或者重组类,提取或者重组函数方法

    3

    出现了代码行尺寸极其庞大的类

    提取或者重组类

    4

    没有实际作用的懒惰类

    提取或者重组类

    5

    体积庞大的方法函数

    提取或者重组函数方法

    6

    方法中的长参数列表

    提取或者重组函数方法

    7

    子类中出现相同或相似的方法定义

    提取或者重组父类

    形成模版方法

    用多态处理子类重复代码

    8

    很难看懂,代码逻辑或者意图表达的不清楚明晰

    引入临时变量

    提取或者重组函数方法

    9

    一些不加任何约束的switch语句,或者一大串if/else嵌套

    使用围绕if体的多条件返回语句代替嵌套的复杂if/else条件判断

    用多态来代替条件判断

    10

    太多“非常有必要的”注释

    将注释转换为代码

    11

    代码中硬性潜入太多数值

    用符号常量定义来代替硬性编码数字嵌入代码

    12

    类中定义了区分不同类型的类别代码

    用多态来代替条件判断

    13

    太难给类、方法、变量命名时

    提取或者重组类

    提取或者重组函数方法

    14

    类中出现了某些变量或者方法有时有用,有时没用

    提取或者重组类

    用多态处理子类重复代码

  • 相关阅读:
    springmvc
    POJ 3683 Priest John's Busiest Day
    POJ 3678 Katu Puzzle
    HDU 1815 Building roads
    CDOJ UESTC 1220 The Battle of Guandu
    HDU 3715 Go Deeper
    HDU 3622 Bomb Game
    POJ 3207 Ikki's Story IV
    POJ 3648 Wedding
    HDU 1814 Peaceful Commission
  • 原文地址:https://www.cnblogs.com/shihao/p/2219187.html
Copyright © 2011-2022 走看看