我正在尝试重构现有的遗留代码,我注意到我有很多地方有以下模式:
if (condition) {
// lot of code
} else {
throw new SomeException();
}
我想知道是否有一种快速的方法来翻转if-else构造以轻松地将当前形式重构为这样的东西:
if(!condition) throw new SomeException();
// lot of code
我想在函数开头删除不必要的嵌套并进行检查。
答案 0 :(得分:3)
将插入符号放在'if'上,按 Alt + Enter ,从菜单中选择“if if condition”。
答案 1 :(得分:3)
对于现场编辑,请使用@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
框以使其适用于多行(或输入您需要的任何值):
<强>结果强>