例如,方法中的以下代码段
int size = selectedValues.size();
if (size == 1) {
deleteSingle();
} else if (size > 1) {
deleteMultiple();
}
在多个地方被错误地重复,需要用下面的代码替换它们做同样的事情。
switch (selectedValues.size()) {
case 1:
deleteSingle();
break;
default:
deleteMultiple();
}
使用NetBeans(8.0.2)在整个项目(Java EE)中是否存在此类替换的快捷方式?
我试图应用一些正则表达式( ctrl + shift + H )但是正则表达式不匹配,因为我在RegEX非常弱。
答案 0 :(得分:0)
一些考虑因素。
如果您使用基本通配符选项,则存在匹配代码之外的其他内容的风险。但你可以在更改前取消选中搜索结果窗口中的那些。
如果所有实例都在同一个类中,则重构菜单“引入方法”功能可能有效。
如果您正在使用正则表达式,那么您使用的策略应该没问题。有几个Netbeans插件可以帮助您清理和调试正则表达式。
http://plugins.netbeans.org/plugin/41152/regextester 和 http://plugins.netbeans.org/plugin/41152/regextester
但是食物虽然: 看看
http://plugins.netbeans.org/plugin/1529/pmd-s-copy-paste-detector
你的核心问题是你有重复的代码,问题是如果它不正确,那就很难改变。
考虑为可以从所有不同位置调用的代码创建一个公共函数。查看代码,可能是一个带有'静态'方法的Util类。