我正在尝试清理我们的旧代码,并注意到有很多可以合并的条件代码.
范例-
if (file != null) {
if (file.isFile() || file.isDirectory()) {
/* ... */
}
}
这可以重构为
if (file != null && (file.isFile() || file.isDirectory())) {
/* ... */
}
手动执行此更改很痛苦.因此,我试图检查intelliji中的检查工具和模板重构,以帮助我进行批量代码重构.
也无法找到此Eclipse IDE.
请建议,在Intelliji / Eclipse中是否有此选项
解决方法:
在IntelliJ IDEA中,将文本光标放在第一个if关键字上,按Alt Enter并调用合并嵌套的“ if”.
您还可以使用结构搜索和更换以批量执行此操作.使用以下搜索模式:
if ($a$) {
if ($b$) {
$statement$;
} else $void$;
} else $void$;
单击编辑变量…,然后将语句的最小和最大计数设置为0,∞.还将无效的最小和最大计数设置为0,0
使用以下替换模式:
if (($a$) && ($b$)) {
$statement$;
}
请注意,在某些情况下,此替换将引入多余的括号,以防止更改代码的语义.以后可以通过调用“按名称运行检查”并运行不必要的括号检查再次将其删除.