美文网首页
重新组织函数-Inline Temp(内联临时变量)

重新组织函数-Inline Temp(内联临时变量)

作者: 瑾然有昫 | 来源:发表于2019-12-18 15:13 被阅读0次

    有一个临时变量, 只被一个简单表达式赋值一次, 而他妨碍了其他重构手法.将所有该变量的引用动作,替换为对它赋值的那个变量本身

    示例:

    修改前:

    $basePrice = anorder.basePrice();
    return ($basePrice > 1000);
    

    修改后:

    return (anOrder.basePrice() > 1000);
    

    动机

    内联临时变量多半是作为Replace Temp With Query的一部分使用,所有真正的动机出现在后者那儿.唯一单独使用Inline Temp的情况是:某个临时变量被赋予某个函数调动的返回值.一般来说这样的临时变量不会有任何危害,可以放心的把它留在哪儿.但是如果这个临时变量妨碍了其他的重构手法.例如Extract Method, 你就应该将它内联化.

    做法

    1. 监察临时变量赋值的语句, 确保等号右边的表达式没有副作用
    2. 检查该临时变量是否真的只被赋值一次
    3. 修改完所有的引用点后, 删除临时变量的声明和赋值语句

    相关文章

      网友评论

          本文标题:重新组织函数-Inline Temp(内联临时变量)

          本文链接:https://www.haomeiwen.com/subject/bdrunctx.html