zoukankan      html  css  js  c++  java
  • 重构摘要10_简化函数调用

    《重构-改善既有代码的设计》Martin Fowler 摘要: 第十章 简化函数调用

    Rename Method 函数改名

    改一个自表达的名字吧!骚年

    Add Parameter 加入參数

    某个函数须要从调用端得到很多其它信息。

    为此函数加入一个对象參数,让该对象代价函数所需信息。并发编程大多数參数非常长,不放在一个类中,由于这样你能够保证传递给函数的參数都是不可改动的。

    Remove Parameter 移除參数

    移除不必要的某个參数

    Separate Query from Modifier 将查询函数和改动函数分类

    某个函数既返回对象状态值,又改动对象状态

    建立两个函数,一个查,一个改。多线程一般查改一起,那么提供第三个方法调另两个。

    Parameterize Method 令函数带參数

    若干函数做了类似的工作,但在函数本体中包括了不同的值

    建立单一函数,以參数表达那些不同的值

    以“可将少量数值视为參数”为根据,找出带有反复性的代码。提炼參数

    Replace Parameter with Explicit Methods 以明白函数代替參数

    你有一个函数,当中全然取决于參数值而採取不同行为

    针对该參数的每个可能仅仅,建立一个独立函数。

    Preserve Whole Object 保持对象完整

    你从某个对象去除若干值,将它们作为某一次函数调用时的參数

    改为传递整个对象

    Replace Parameter with Methods 以函数代替參数

    对象调用某个函数,并将所得结果作为參数,传递给还有一个函数。而接受该參数的函数本身也可以调用前一个函数。

    让參数接受者去除该项參数,并直接调用前一个函数。

    Introduce Parameter Object 引入參数对象

    某些參数总是非常自然地同一时候出现。

    以一个对象代替这些參数。

    还能够适当的行为从其它函数移到这个新建对象中。

    Remove Setting Method 移除设置函数

    类中某个字段应该在对象创建时被设置,然后就不再改变。

    Hide Method 隐藏函数

    没有被其它不论什么类用到

    Replace Constructor with Factory Method 以工厂函数代替构造函数

    希望创建对象时不不过做简单的构建动作

    Encapsulate Downcast 封装向下转型

    某个函数返回的对象,须要由函数调用者运行向下转型

    将向下转型动作移到函数中

    Replace Error Code with Exception 以异常代替错误码

    Replace Exception with Test 以測试代替异常

    面对一个调用者能够预先检查的条件,你抛出了一个异常

    改动调用者,使它在调用函数之前先做检查


  • 相关阅读:
    Tomcat下使用war包发布项目
    shell编程报错:“syntax error near unexpected token `”
    undo表空间不足,ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS2'
    HTML快速入门
    HTTP协议快速入门
    Java Web应用的开发模式
    使用Jekyll搭建免费的Github Pages个人博客
    前端模拟API数据的两种方式
    Node.js学习笔记
    socket.io笔记
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4094151.html
Copyright © 2011-2022 走看看