在Eclipse IDE中,我有一个带有大量可空参数的Java方法
src.myCrazyFunction(year, name, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
我想用城市参数' NY'来调用该功能。 通过使用Javadoc工具提示,我必须计算参数直到" String city"然后:
src.myFunction(year, name, null, null, null, null, null, null, null, null, null, null, 'NY', null, null, null, null, null, null, null, null, null, null, null);
每次我必须使用这种方法时,计算参数真的很无聊。
我能知道光标所在参数的名称吗? CTRL + SPACE将用于所有参数...
答案 0 :(得分:1)
第一件事:你应该改变这种方法,如果它真的那样,它是疯了。其次,我不知道你的意思,但是在Eclipse中你输入src.
它会显示所有可用的方法,点击你的方法,代码将以参数名作为参数生成(为你改变这一点)。例如,如果您键入"someString".indexOf
并选择一个方法,它将生成"someString".indexOf(ch, fromIndex)
(那些不是变量或任何东西,那些是indexOf
方法声明中指定的参数名称,它们将给出编译 - 时间错误,如果你不改变它们)。您可以看到您的参数名称,因此可以快速将特定的一个更改为NY
,您仍然必须自己编写空值。我希望我能正确理解你。
答案 1 :(得分:1)
正如comment中@nos所解释的那样,在Eclipse中按ctrl+space
会弹出一个工具提示,突出显示(在粗体中)光标所在的参数,如图所示在@nos提供的图像中:
但是,这仍然需要IDE支持并且使用(你必须定位光标并触发它以使用它)相对麻烦,所以你应该考虑其他方法。
没有方法应该采用24个参数,但如果你绝对必须,那么你应该注释所有不明确的参数值,例如: year
和name
可能具有足够的解释性,但null
,0
,false
,42
,true
等值。不传达意思,所以你应该评论它们:
src.myFunction(year,
name,
/*address1*/null,
/*address2*/null,
/*city*/null,
/*state*/"NY",
/*zipcode*/null);
通过这种方式,一个随意的观察者将确切地知道这些值的含义。
另一种方法是将所有参数值包装在POJO中并使用构建器模式。
src.myFunction(new MyPojo()
.setYear(year)
.setName(name)
.setState("NY"));
答案 2 :(得分:1)