3.4 long parameter list(过长参数列)

太长的参数列难以理解,太多的参数会造成前后不一致,不易使用,而且一旦你需要更多数据,就不得不修改它。如果将对象传递给函数,大多数修改都将没有必要,因为你很可能只需增加一两条请求,就能得到更多数据。

如果向已有的对象发出一条请求就可以取代一个参数,那么你应该激活重构手法replace parameter with method。“已有的对象”可能是函数所属类内的一个字段,也可能是另一个参数。还可以运用preserve whole object将来自同一对象的一堆数据收集起来,并以该对象替换它们。如果某些参数缺乏合理的对象归属,可使用introduce parameter object为它们制造出一个“参数对象”。

有时候明显不希望造成“被调用对象”与“较大对象”间的某种依赖关系。这时候将数据从对象中拆解出来单独作为参数,也很合情合理。但是请注意其所引发的代价。如果参数列太长或变化频繁,你就需要重新考虑自己的依赖结构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值