重构摘要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 以测试取代异常

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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值