【问题标题】:IDE renaming V2IDE 重命名 V2
【发布时间】:2018-03-28 07:42:18
【问题描述】:

我知道 IDE 允许这种类型的重构:

改变:

public String getDisplayName() { return name }
// usage: player.getDisplayName();

public String getCharacterDisplayName() { return name }
// usage: player.getCharacterDisplayName();

但是是否有一个工具可以改变代码 getDisplayName() 的所有外部使用

到这个:?

public HashMap<String, String> getArgHandler() {
  return args; //name now stored under key "displayname" ( <"displayname", name>
}
//usage: player.getArgHandler().get("displayname");

即不重命名方法,而是强制机器将每个 getDisplayName() 方法完全更改为另一个方法?

【问题讨论】:

  • 在这里寻求工具推荐是题外话。见stackoverflow.com/help/on-topic
  • “我可以在这里问什么主题?” > “程序员常用的软件工具;而且是”
  • Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
  • 不问哪个工具好,问有没有工具存在
  • 询问“我应该使用哪个工具?”属于这类题外话

标签: java syntax refactoring


【解决方案1】:

首先将 getDisplayName() 重构为全局唯一/随机的东西,例如 getDisplayNameQWE123()。然后您可以安全地使用简单的文本替换将getDisplayNameQWE123() 替换为player.getArgHandler().get("displayname")。仍然getCharacterDisplayName() 在代码中看起来比一些带有魔法键的地图更好。

【讨论】:

  • 谢谢,但我的 getDisplayName() 分布在 100 个文件中,使用简单文本替换对所有这些文件中的文本执行此操作的最快方法是什么?
  • 我知道的任何 IDE 都有这样的能力,甚至像 Notepad++ 这样的大多数文本编辑器都可以做到。
  • 我用的是eclipse,你知道这个选项叫什么吗?重命名项目我能找到的只是重构工具
猜你喜欢
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 2011-07-19
  • 2015-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
相关资源
最近更新 更多