【问题标题】:Safest way to change variable names in a project在项目中更改变量名称的最安全方法
【发布时间】:2011-01-12 05:15:56
【问题描述】:

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • Eclipse CDT 有它。 QtCreator 有它。 Visual Studio 有它。 Visual Assist X for Visual Studio 让它变得更好。 Vim 有。你明白了。
    • 啊 Vim 有吗?它适用于多级项目目录吗?
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        每本 400 美元,但给你:http://www.xref.sk/xrefactory/download.html

        我当然没用过。

        【讨论】:

        • 有趣,那么对于一个涉及制作 c++ 解析器的工具要收费多少?
        【解决方案5】:

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

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

        【讨论】:

        • 实际上远非理想。您可能会遇到由于范围而默默选择另一个变量的地方。我至少会运行一个 grep 并尝试将它们全部分开。
        • 是的,你可以编写一个 shell 脚本。我确定我说的是notidea
        【解决方案6】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-07-12
          • 1970-01-01
          • 2017-12-23
          • 1970-01-01
          • 2018-11-29
          • 2018-06-02
          • 2012-08-02
          • 2021-11-10
          相关资源
          最近更新 更多