zoukankan      html  css  js  c++  java
  • 『重构--改善既有代码的设计』读书笔记----Inline Temp

        与Inline Method相同,有时候犹豫需要Extract Method,需要对一些临时变量进行内联,而这个往往是Replace Temp with Query的一部分。简单来说,当你看到这种

    double basePrice = anOrder.basePrice();
    return (basePrice > 1000);

        对于这种情况,basePrice完全是多余的变量,完全可以用函数本身来替代他。这里有个小窍门,你要内联这个变量,你必须要保证函数之后没有对这个变量进行过操作,换句话说,你可以利用C++的特性----const,将函数变量声明为

    const double basePrice = anOrder.basePrice();

        然后你进行编译,看看能不能编译通过,如果能编译通过,证明你这个变量确实只有读操作没有写操作,那么你就可以放心的进行内联

    return (anOrder.basePrice() > 1000);

        这样就完成了Inline Temp。

  • 相关阅读:
    Daily Scrum 10.31
    Daily Scrum 10.30
    Daily Scrum 10.29
    Daily Scrum 10.28
    扩展设置
    安装
    james+javamail入门
    解决ZF2_PATH environment
    Apache Httpd Server 2.2升级2.4
    缓存,spring
  • 原文地址:https://www.cnblogs.com/rickyk/p/4117986.html
Copyright © 2011-2022 走看看