重构——49以函数取代参数(Replace Parameter with Methods)

简介: 以函数取代参数(Replace Parameter with Methods):对象调用某个参数,并将结果作为参数,传递给另一个函数,而接受该参数的函数本身也能够调用前一个函数;让参数接受者去除该项参数,并直接调用前一个参数

以函数取代参数(Replace Parameter with Methods)

对象调用某个参数,并将结果作为参数,传递给另一个函数,而接受该参数的函数本身也能够调用前一个函数;让参数接受者去除该项参数,并直接调用前一个参数

一、动机

如果函数可以通过其他途径获得参数值,那么它就不应该通过参数取得该值

二、做法

1、如果有必要,将参数的计算过程提炼到一个独立的函数中

2、将函数本体内引用该参数的地方改为调用新建的函数

3、每次替换后,编译并测试

4、全部替换完成后,使用Remove Parameter将该参数去除

目录
相关文章
|
3月前
|
XML SQL JSON
query 与 params:选择正确的参数传递方式
query 与 params:选择正确的参数传递方式
|
7月前
|
测试技术 API
避免修改构造函数输入参数引起的 breaking change
避免修改构造函数输入参数引起的 breaking change
37 0
|
9月前
|
Python 容器
【Python标准库】argparse的add_argument() 方法介绍
【Python标准库】argparse的add_argument() 方法介绍
|
10月前
|
人工智能 Java
getParameter方法的用法
getParameter方法的用法
重构——29以数据类取代记录(Replace Record with Data Class)
以数据类取代记录(Replace Record with Data Class):你需要面对传统编程环境中的记录结构;为该记录创建一个“哑”数据对象
1511 0
重构——47以明确函数取代参数(Replace Parameter with Explicit Methods)
以明确函数取代参数(Replace Parameter with Explicit Methods):你有一个函数,其中完全取决于参数值而采取不同的行为;针对该参数的每一个可用值,建立一个独立函数
1816 0
重构——50引入参数对象(Introduce Parameter Object)
引入参数对象(Introduce Parameter Object):Range模式;某些参数总是很自然的同时出现;以一个对象取代这些参数
1689 0
重构——43添加参数(Add Parameter)
添加参数(Add Parameter):某个函数需要从调用端得到更多信息;为此函数添加一个对象,让该对象带进函数所需信息
1464 0
重构——44移除参数(Remove Parameter)
移除参数(Remove Parameter):函数本体不再需要某个函数;将该参数去除
1424 0