zoukankan      html  css  js  c++  java
  • 以查询代替临时变量

    1.什么是Replace Temp with Query

    function totalMoney(){
        $result = ($this->price)*($this->nums); //这个result就是临时变量
        if($result>60) return $result*0.9;
        else return $result;
    }
    
    
    
    //用查询替代临时变量
    function getPrice(){
        return ($this->price)*($this->nums);
    }
    function totalMoney(){
        if(getPrice()>60) return getPrice()*0.9;
        else return getPrice();
    }

    2.这样做的好处是什么

    临时变量的问题在于:它们是暂时的,而且只能在所属函数内使用。由于临时变量只有在所属函数内才可见,所以它们会驱使你写出更长的函数,因为只有这样你才能访问到想要访问的临时变量。如果把临时变量替换为一个查询式(query method),那么同一个class中的所有函数都将可以获得这份信息。这将带给你极大帮助,使你能够为这个编写更清晰的代码。局部变量会使代码难以被提炼,所以你应该尽可能把它们替换为查询式。

    以后如果你要改变这个变量的赋值,就不用满大街找这个$result是在哪里被赋值的了,而是直接找到function getPrice。

  • 相关阅读:
    Swift
    Swift
    Swift
    Swift
    Cocos2d Lua 越来越小样本 内存游戏
    Android组件系列----ContentProvider内容提供商【5】
    看你的门-攻击服务器(4)-HTTP参数注入攻击
    图片缩放中心
    正确lua简单的扩展,可以加速相关C++数据。
    epoll()无论涉及wait队列分析
  • 原文地址:https://www.cnblogs.com/justlikeheaven/p/2778490.html
Copyright © 2011-2022 走看看