`
liuheizi120
  • 浏览: 4274 次
社区版块
存档分类
最新评论

Replace Temp with Query替换临时变量为函数调用

阅读更多
一、动机
  临时变量时暂时的,只能在所属函数内使用,所以它们会驱使你写出更长的函数。
  将临时变量替换为一个查询,那么同一个类中的所有函数豆浆可以获得这份信息,是你能够为这个类编写更清晰的代码。

二、做法
  1、找出只被赋值一次的临时变量
  2、将该临时变量声明为final
  3、将“对该临时变量赋值”之语句的等号右侧部分提炼到一个独立函数中。
  4、在该临时变量身上实施Inline Temp。
分享到:
评论

相关推荐

    编码中的21种代码坏味道

    如果你已经使用了 Extract Method(110)、Replace Temp with Query(120)和 Introduce Parameter Object(295)等方法,但仍然有太多临时变量和参数,那就可以使用 Replace Method with Method Object(135)来将...

    重构-改善既有代码的设计

    6.4 Replace Temp with Query(以查询取代临时变量) 120 6.5 Introduce Explaining Variable(引入解释性变量) 124 6.6 Split Temporary Variable(分解临时变量) 128 6.7 Remove Assignments to ...

    重构:改善既有代码的设计.[美]Martin Fowler.epub【文字版手机格式】

    6.4 Replace Temp with Query(以查询取代临时变量) 6.5 Introduce Explaining Variable(引入解释性变量) 6.6 Split Temporary Variable(分解临时变量) 6.7 Remove Assignments to Parameters(移除对参数的赋值) ...

    重构-改善既有代码的设计+中文版

     *Replace Temp with Query 用查询方法代替临时变量   Introduce Explaining Variable 引入解释性变量   Split Temporary Variable 分离临时变量   *Remove Assignments to Parameters 去除参数赋值   ...

    代码优化的常见问题

    可以尝试使用“Replace Temp with Query”来消除临时变量,将它们替换为查询操作。如果无法避免临时变量,可能需要进一步重构,如使用“Replace Method with Method Object”。 4. **大型类(Large Class)**:大型...

    Monash大学软件工程课件-Refactoring

    - **Replace Temp with Query(替换临时变量为查询)**:将计算结果存储在局部变量中的做法改为直接调用函数获取结果,这样可以减少变量的数量,提高代码的可读性。 - **Replace Conditional with Polymorphism...

    重构_改善既有代码的设计

     6.4 ReplaceTempwithQuery(以查询取代临时变量)120  6.5 IntroduceExplainingVariable(引入解释性变量)124  6.6 SplitTemporaryVariable(分解临时变量)128  6.7 RemoveAssignmentstoParameters(移除对...

    重构:改善既有代码的设计(中文版).

    6.4 ReplaceTempwithQuery(以查询取代临时变量)120 6.5 IntroduceExplainingVariable(引入解释性变量)124 6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值...

    重构:改善既有代码的设计(中文高清版)

    6.4 ReplaceTempwithQuery(以查询取代临时变量)120 6.5 IntroduceExplainingVariable(引入解释性变量)124 6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值...

    《重构改善既有代码的设计(2010年版)》(Martin Fowler[美] 著,熊节 译)

    6.4 ReplaceTempwithQuery(以查询取代临时变量)120 6.5 IntroduceExplainingVariable(引入解释性变量)124 6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值...

    重建——改善既有代码的设计

    6.4 ReplaceTempwithQuery(以查询取代临时变量)120 6.5 IntroduceExplainingVariable(引入解释性变量)124 6.6 SplitTemporaryVariable(分解临时变量)128 6.7 RemoveAssignmentstoParameters(移除对参数的赋值...

    Extract Method

    在实际操作中,可以通过使用 Split Temporary Variable 或 Replace Temp with Query 这些技巧来优化局部变量的处理过程。 #### 四、Extract Method 的具体步骤 1. **选择要提取的代码片段**:首先确定需要提取出来...

    Refactoring Improving the Design of

    3. **替换临时变量(Replace Temp with Query)**:用直接调用函数代替临时变量。 4. **移动功能(Move Function)**:将方法从一个类移动到另一个更合适的类中。 5. **提取接口(Extract Interface)**:从现有类中...

    重构-改善既有代码的设计.rar

    例如,"Replace Temp with Query"(用查询取代临时变量)是常见的重构手法,它鼓励我们直接从对象获取所需的信息,而不是先存储再使用;"Introduce Parameter Object"(引入参数对象)则是将多个参数组合成一个对象...

    重构与模式.pdf

    8. **替换临时变量**(Replace Temp with Query):将临时变量转换为只读属性或方法,减少局部变量的数量,使代码更加简洁。 9. **移除设置器**(Remove Setting Method):如果一个对象的状态变化过于频繁,可以...

    RefactoringExercise2021

    4. **替换临时变量以调用方法(Replace Temp with Query)**:有时候,我们会先计算一个值然后存储在临时变量中,再用这个临时变量调用方法。这种情况下,可以直接在方法调用中使用原始表达式,提高代码清晰度。 5....

    pl/sql学习小结笔记

    - 可以直接用表达式为变量赋值,如`v_temp := 'defaultName'`。 - 使用`||`进行字符串的串联,如`dbms_output.put_line(v_temp || 'is MyName')`。 7. **程序流程控制**: - **IF-THEN**:简单的条件判断。 - *...

    腾讯php面试题解析

    9. **__invoke()**:允许将对象作为函数调用。 10. **__toString()**:当将对象转换为字符串时调用。 11. **__sleep()**:当对象序列化之前被调用。 12. **__wakeup()**:当对象反序列化后被调用。 13. **__set_...

Global site tag (gtag.js) - Google Analytics