7

所以我自己一直在做一个相对较大的项目,我开始意识到之前的一些变量名......不太理想。

但是如何轻松更改项目中的变量名称?有没有这样的工具可以遍历一个项目目录,解析所有文件,然后将变量名替换成想要的?它必须足够聪明才能理解我想象的语言。

我正在考虑使用正则表达式(Linux 上的 sed/awk?)工具来替换变量名,但很多时候我的特定变量也包含在字符串中。

还有关于在 c++ 命名空间上更改内容的问题,因为我的项目中实际上有两个类共享相同的名称,但位于不同的命名空间中。

我记得 Visual Studio 能够做到这一点,但是在 Linux 上做到这一点最安全、最优雅的方法是什么?

4

6 回答 6

6

它被称为重构,但我不记得在 C++ 中是否有很好的方法来做到这一点——我想也许Eclipse C++有它;可能值得一看。

于 2011-01-12T05:17:40.283 回答
5

最安全(非自动化方式)方式:

  1. 确保所有单元测试都能正常工作。
  2. 将所有内容保存到源代码管理中。
  3. 用 XXXvarXXX 全局替换 var (严重
    )或者可能只是您认为需要编辑的文件。
  4. 尝试编译。不编译的所有内容都很容易撤消,只需删除 XXX。
  5. 当它编译运行单元测试。
  6. 当单元测试工作时。将 XXXvarXXX 全局替换为新名称。
  7. 确保单元测试仍然有效
  8. 将所有内容保存在源代码管理中。

舌头只在脸颊的一半。:-)

于 2011-01-12T05:28:36.790 回答
1

我记得visual stuio能够做到这一点,但是在linux上做到这一点最安全、最优雅的方法是什么?

您可以使用重构工具在 Eclipse 的 Visual Studio 中执行几乎所有操作,该重构工具可用于 Linux。

于 2011-01-12T05:18:05.237 回答
1

400 美元的副本,但你去:http ://www.xref.sk/xrefactory/download.html

我当然没用过。

于 2011-01-12T05:23:10.177 回答
0

我知道 C# 和 Visual Studio 有一个很棒的变量转换器,但是我不确定它是否可以通过所有文档工作。我知道当您在 C# 中更改变量时,它会在变量文本旁边弹出。Change All

但是,您可能会遇到唯一的选择。更改变量并查看编译器出错的地方。然而它并不理想,但可能是你唯一的选择

于 2011-01-12T05:21:41.213 回答
0

使用私有变量,重命名变量和明显的用途,更正编译器错误。

于 2011-01-12T05:23:18.437 回答