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

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

    提取或者重组类

    用多态处理子类重复代码

  • 相关阅读:
    js正则表达式
    js遍历对象属性
    C# 带Cookies发送请求
    C# Cookies设置和读取
    C# ref 和 out 的使用
    jq 禁用复选框 和输入框
    C++学习之嵌套类和局部类
    C++学习之this指针
    C++学习之运算符重载的总结
    Labview中引用,属性节点,局部变量之间的区别
  • 原文地址:https://www.cnblogs.com/shihao/p/2219187.html
Copyright © 2011-2022 走看看