【发布时间】:2010-11-26 04:26:40
【问题描述】:
有人知道一个功能齐全的 C++ 重构工具,它可以可靠地处理大型代码库(大约 100.000 行)吗?
在过去的几年里,我一次又一次地尝试了我能找到的任何东西:SlickEdit、Eclipse CDT。它们都完全不可用。
总结: 我花时间评估了“Visual Assist X”和“Refactor for C++”。两者都有一些令人印象深刻的功能,但两者都远非完美。如果没有手动修改,提取一大块代码通常不会令人满意 - 因此不会有回报。
“Visual Assist X”具有很好的功能,例如更完整的自动补全等。但它会导致大量闪烁并在某些点上减慢速度。
因此,我认为答案是:“不,没有 C++ 生产就绪的重构工具”
2015 年 3 月更新 至于今天hdoghmens 的回复,我尝试了Resharper for C++。 他的链接 https://www.jetbrains.com/resharper/ 没有提及 C++。但我在这里找到了一年多前宣布的 Resharper C++:
https://www.jetbrains.com/resharper/features/cpp.html
我使用 20MB 的代码库尝试了 VC2010。
测试一:提取方法: 导致 Resharper 异常。没有更改源代码。
测试 2:不同来源的提取方法: 工作正常
测试 3:更改提取函数的签名:导致 C++ 代码损坏:
bool myclass::do_work123(<unknown long Color>int& Filled*&, long, int&)
也许这就是为什么 C++ 没有在主页上列出。
在我看来,这个问题的答案仍然是“否”。
【问题讨论】:
-
收藏了这个。 C++ 的问题在于其非常复杂、上下文相关的语法。如果不实际解析完整的源代码,您无法确定标识符的含义。
-
另见:stackoverflow.com/questions/249827/…,但它提供的不多
-
Eclipse 实际上运行得很好,你只需要通过编辑 eclipse.ini 让它使用更多的内存
-
如果您仍在监视 C++ 的重构工具,请考虑我们 JetBrains 目前正在处理 C++ support in ReSharper 和 separate cross-platform C++ IDE
-
@RED SOFT ADAIR 你很有名。检查这个youtu.be/RT46MpK39rQ?t=1611
标签: c++ refactoring