为了概括,我们举一个这样的例子.我有一个类似这样的方法。
public void mymethod(int param1, String param2){ //do something }
我想把它变成这样。
public void mymethod(int param1, String param2, String param3){ //do something }
有没有一种更好的方法可以在不破坏用法的情况下使用intellij来实现这一点?
pgky5nke1#
您可以使用intellij执行以下操作。使用Refactor-〉Change Signature菜单,您可以:
Refactor
Change Signature
转到Refactor-〉Change Signature菜单在编辑器中,将光标放在要更改其签名的方法的名称内。执行以下操作之一:
有关更多信息,请查看here
0qx6xfy62#
您可以右键单击方法名称,然后refactor-〉change signature(或命令+ F6,如果您在Mac上,Ctrl + F6在Windows,Linux上)。应该会打开一个新窗口,您可以在其中添加和删除新参数,以及更改方法的可见性。
refactor
change signature
a1o7rhls3#
从干净代码的Angular 来看,答案很简单:别这么做-你的方法参数越少越好!
添加第三个参数对我来说就像走了一条非常错误的路线。
也许您最喜欢的想法是将所有客户端代码更改为使用null或某个空字符串作为新参数......但同样:“闻起来”也很难闻。你看:你的代码一方面应该冗长,但尽可能“简洁”。方法中的每个参数都存在,因为你的代码需要它们。2所以,如果你要添加第三个参数,那可能大多数时候都是空的;只有在你想让它“表示”某个东西的地方,它才是非空的,好吧,我的两点意见是:别这样:很明显,two-arg+null方法要做的事情和three-arg方法不同。如果是这样的话,保持两个独立的方法。请记住:你添加到方法中的每个参数都会给你的测试范围增加更多的变化。2你真的不希望那样。3你的方法应该尽可能的简单,这样它们才能尽可能的容易被测试。
fafcakar4#
只是为了补充一些遗漏的地方。
原因是IDE无法猜测和创建或替换已更改参数或方法用法的赋值。
pnwntuvh5#
您可以右键单击方法名,然后执行重构-〉更改签名(Windows中为Ctrl + F6)。
5条答案
按热度按时间pgky5nke1#
您可以使用intellij执行以下操作。
使用
Refactor
-〉Change Signature
菜单,您可以:转到
Refactor
-〉Change Signature
菜单在编辑器中,将光标放在要更改其签名的方法的名称内。执行以下操作之一:
有关更多信息,请查看here
0qx6xfy62#
您可以右键单击方法名称,然后
refactor
-〉change signature
(或命令+ F6,如果您在Mac上,Ctrl + F6在Windows,Linux上)。应该会打开一个新窗口,您可以在其中添加和删除新参数,以及更改方法的可见性。
a1o7rhls3#
从干净代码的Angular 来看,答案很简单:别这么做-你的方法参数越少越好!
添加第三个参数对我来说就像走了一条非常错误的路线。
也许您最喜欢的想法是将所有客户端代码更改为使用null或某个空字符串作为新参数......但同样:“闻起来”也很难闻。
你看:你的代码一方面应该冗长,但尽可能“简洁”。方法中的每个参数都存在,因为你的代码需要它们。2所以,如果你要添加第三个参数,那可能大多数时候都是空的;只有在你想让它“表示”某个东西的地方,它才是非空的,好吧,我的两点意见是:别这样:很明显,two-arg+null方法要做的事情和three-arg方法不同。如果是这样的话,保持两个独立的方法。
请记住:你添加到方法中的每个参数都会给你的测试范围增加更多的变化。2你真的不希望那样。3你的方法应该尽可能的简单,这样它们才能尽可能的容易被测试。
fafcakar4#
只是为了补充一些遗漏的地方。
原因是IDE无法猜测和创建或替换已更改参数或方法用法的赋值。
pnwntuvh5#
您可以右键单击方法名,然后执行重构-〉更改签名(Windows中为Ctrl + F6)。