一次重命名许多Java类中的许多变量
我在一个相当大的Java项目(2500多个类)中工作,它使用旧的代码标准,其中所有成员变量都以“m_”为前缀(例如m_temperature)。 这已经没有理由了,我想摆脱它们,但是:
- 为了进行更改,我必须立即执行所有变量 。
- 它不能产生任何错误。
简单地将所有“m_variable”重命名为“变量”的第一种简单方法是不够的,因为这可能在已经存在的名为“variable”的变量和新重命名的变量之间产生名称冲突。
总而言之:如何重命名所有这些讨厌的成员变量而不会遇到麻烦,还有比上面提到的更多的问题吗?
是的,我知道IDE中的重构/重命名function,请记住我想立即对符合条件的所有变量进行更改,而不是右键单击变量并逐个重命名。
关于SC的一个问题是关于java中的大规模重构。 最好的答案是使用japvaparser并实现访问者进行实际的重构。 对于简单的重命名,这不应该是那么多工作。
下面怎么样: java变量的大规模重命名
通过Simulant
单击变量名称。
1:按[alt] + [shift] + [R]
2:输入新名称。
3:按[确定]确认。
– >将重命名此变量的所有实例。
回答你的第二个问题( 还有问题 )
- 我会避免全局变量。 支持封装 ,以便您可以本地化function。
- 我会实现一些unit testing ,以便您可以validation未来的更改。 目前,您唯一可用的检查是您的项目正确编译。
我意识到这两个都是现有项目中可能存在的大问题。 但值得寻找可能的痛点并首先处理这些痛点。
在这种情况下,重构工具将有所帮助。 重命名变量时,它会在所有相关位置重命名它,包括在不同的类文件中调用它。 执行此操作时,如果重命名的变量与现有名称匹配,它将提醒您。
但是我们必须为每个变量手动完成。
我不知道这是否可行。 但是我发现这个链接可以使用IntelliJ查找和替换项目中的所有出现。
http://www.jetbrains.com/idea/webhelp/finding-and-replacing-text-in-project.html
如果您使用的是eclispe
IDE,则可以轻松完成。
脚步:
- 选择变量
- 右键单击它
- 点击重构
- 点击重命名
即使在netbeans
您也可以按照相同的步骤操作。 IDE将查找引用和用法并将其全部替换。