作者:手机用户2502893535 | 来源:互联网 | 2022-12-24 17:28
我正在尝试重构现有的旧代码,我注意到我有很多地方都采用以下模式:
if (condition) {
// lot of code
} else {
throw new SomeException();
}
我想知道是否有一种快速的方法来翻转if-else构造以轻松地将当前形式重构为这样的形式:
if(!condition) throw new SomeException();
// lot of code
我想在功能开始时删除不必要的嵌套并进行检查。
1> yole..:
将插入符号放在'if'上,按Alt+ ,然后Enter从菜单中选择“ Invert'if'condition”。
2> Morfic..:
对于现场编辑,请使用@Yole的建议。
但是,如果您在整个项目中有很多地方,则可以将Edit
=> Find
=>Replace structurally
与以下模板一起使用(从IJ附带的示例中推导出来,并通过v2017.3.4进行了测试):
搜索模板:
if ($Condition$) {
$ThenStatement$;
} else {
throw new $Constructor$($Argument$);
}
更换模板
if (!$Condition$) throw new $Constructor$($Argument$);
$ThenStatement$;
变量:
单击Edit variables
按钮,然后选择ThenStatement
变量并选中Unlimited
复选框,以便将其应用于多行(或键入所需的任何值):
结果