使用NetBeans查找并替换整个项目中的代码块

时间:2015-08-21 22:55:08

标签: java netbeans

例如,方法中的以下代码段

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非常弱。

1 个答案:

答案 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类。