将多个类中的硬编码变量重构为一个全局变量?

时间:2012-03-17 07:29:57

标签: java eclipse refactoring hardcoded

(第一次请温柔等等)

让我说我懒惰/不假思索/按时间并硬编码字符串而不是制作全局变量。我在数百个类和我编写的测试用例中重复了这个错误。现在,我想解决这个问题,因为我发现我最终需要更新该字符串。在Eclipse或其他地方是否有一些重构方法可以让我用全局变量替换该特定字符串的所有实例?

我可以想到一个程序化的解决方案,遍历所有这些文件并替换字符串,但除非绝对必要,否则我宁愿不去那条路。

非常感谢!

3 个答案:

答案 0 :(得分:4)

您可以在Eclipse中使用搜索和替换项目中的所有文件,这是一回事。你不需要自己写。

不幸的是,看起来Eclipse的“Extract Constant”重构不愿意跨类提取它。这显然是更好的解决方案。

答案 1 :(得分:1)

Eclipse提供了Refactor选项。 右键单击要用变量替换的值,您将看到选项Refactor。 这将有助于您从所有其他事件中取代价值。

答案 2 :(得分:0)

您可以在eclipse中找到元素的引用位置,如下所示:

  1. 所选元素。(在您的情况下为String的变量)
  2. 点击所选元素
  3. 所选菜单References
  4. 选择Workspace项以查找工作区中的所有引用
  5. 然后您可以在结果中编辑evry项目
  6. 存在另一种方式,例如使用search and replace功能。