有时,我们必须编写收到很多很多争论的方法,例如:将许多参数传递给方法的最佳实践?
public void doSomething(Object objA , Object objectB ,Date date1 ,Date date2 ,String str1 ,String str2)
{
}
当我遇到这样的问题,我常常参数封装成图。
Map<Object,Object> params = new HashMap<Object,Object>();
params.put("objA",ObjA) ;
......
public void doSomething(Map<Object,Object> params)
{
// extracting params
Object objA = (Object)params.get("objA");
......
}
这不是一个好的做法,将params封装到地图中完全是浪费效率。 好的是,干净的签名,易于添加其他参数,修改最少。 这类问题的最佳做法是什么?
什么是“过长的参数”?我们何时可以说方法有太多参数?是否有特定的数字或范围? – 2017-01-14 22:39:39
@RedM我一直认为超过3或4个参数是“过长” – jtate 2017-06-22 13:34:07
@jtate是个人选择还是你正在关注官方文档? – 2017-06-22 14:57:34