最安全的方法来更改项目中的变量名称

时间:2011-01-12 05:15:57

标签: c++ coding-style refactoring variable-names

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

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

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

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

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

6 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:5)

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

  1. 确保所有单元测试都有效。
  2. 将所有内容保存到源代码管理中。
  3. 用XXXvarXXX全球替换var(严重)
    一个。或者也许只是您认为需要编辑的文件。
  4. 尝试并编译。无法编译的所有内容都很容易撤消,只需删除XXX即可。
  5. 编译时运行单元测试。
  6. 当单元测试工作时。将XXXvarXXX全局替换为新名称。
  7. 确保单元测试仍然有效
  8. 将所有内容保存在源代码管理中。
  9. 舌头只有一半的脸。 : - )

答案 2 :(得分:1)

  

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

您可以使用适用于Linux的重新分解工具,在Eclipse中的visual studio中完成您以前的工作。

答案 3 :(得分:1)

$ 400 a f'n copy,但是你去了:http://www.xref.sk/xrefactory/download.html

我当然从未使用它。

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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