zoukankan      html  css  js  c++  java
  • 重构手法

    重构手法
    1.0 Extract Method 提炼函数:你有一段代码可以被组织在一起并独立出来。
    做法:将这段代码放进一个独立函数中,并让函数名称解释该函数的用途。
    2.0 Inline Method 内联函数:一个函数的本体与名称同样清楚易懂。
    做法:在函数调用点插入函数本体,然后移除该函数。
    3.0 Inline Temp 内联临时变量:你有一个临时变量,只被一个简单表达式赋值一次,而它妨碍了其他重构手法。
    做法:将所有对该变量的引用动作,替换为对它赋值的那个表达式自身。
    4.0 Replace Temp with Query 以查询取代临时变量:你的程序以一个临时变量保存某一表达式的运算结果。
    做法:将这个表达式提炼到一个独立函数中。将这个临时变量的所有引用点替换为对新函数的调用。此后,新函数就可被其他函数使用。
    5.0 Introduce Explaining Variable 引入解释性变量:你有一个复杂的表达式。
    做法:将该复杂表达式(或其中一部分)的结果入进一个临时变量,以此变量名称来解释表达式用途。也可以用Extract Method(如果花费工作量不大)。
    6.0 Split Temporary Variable 分解临时变量:你的程序有某个临时变量被赋值超过一次,它既不是循环变量,也不被用于收集计算结果。
    做法:针对每次赋值,创造一个独立、对应的临时变量。每个变量只承担一个责任。
    7.0 Remove Assignments to Parameters 移除对参数的赋值:代码对一个参数进行赋值。
    做法:以一个临时变量取代该参数的位置。
    8.0 Replace Method with Method Object 以函数对象取代函数:你有一个大型函数,其中对局部变量的使用使你无法采用Extract Method;
    做法:将这个函数放进一个单独对象中,如此一来局部变量就成了对象内的字段。然后你可以在同一个对象中将这个大型函数分解为多个小型函数。
    9.0 Substitute Algorithm 替换算法:你想要把某个算法替换为另一个更清晰的算法。
    做法:将函数本体替换为另一个算法。

  • 相关阅读:
    java + jni + mingw实例开发(基于命令行窗口模式)
    OpenCv for Android
    Android图像处理实例教程
    eclipse使用技巧
    Android NDK开发实例教程
    Android开发的教程和资源
    JAVA安装,环境变量配置
    一些比较好的博客
    uwsgi启动Django项目时:unable to load app 0 (mountpoint='') (callable not found or import error) *** no app loaded. going in full dynamic mode ***
    robot中使用evaluate转化数据格式
  • 原文地址:https://www.cnblogs.com/ICE_Inspire/p/5136220.html
Copyright © 2011-2022 走看看