它是否处于实际有用的状态,并且可以做的不仅仅是重命名类?
答案 0 :(得分:22)
* Declare Method
* Extract Baseclass
* Extract Constant
* Extract Method
* Extract Subclass
* Hide Method
* Implement Method
* Move Field / Method
* Replace Number
* Separate Class
* Generate Getters and Setters
有一个CDT重构wiki
答案 1 :(得分:2)
为C ++提供重构工具已经做了很多努力,其中大多数都很早就失败了,因为创建这样的工具需要完全处理C ++源代码的能力,即你需要一个工作的完整的c ++编译器。甚至可以实现最基本形式的自动化源到源转换。
幸运的是,随着plugins into gcc的引入,最终可以预见相关的努力实际上可以为此目的利用现有的C ++编译器,而不必诉诸于他们自己的C ++编译器实现
要进行更深入的讨论,您可以查看this。
目前,提供广泛自动化C ++重构支持的最有希望的候选者当然是Mozilla pork项目及其相关的配套项目Dehydra。
答案 2 :(得分:1)
例如Ref ++支持的一些C ++重构不需要完全理解C ++语法。例如,上拉方法,下推方法等非常简单。出于某种原因,这种重构没有实施到CDT重构中。
答案 3 :(得分:0)
是的,如果代码太复杂,它们中的大多数实际上都不起作用。移动方法,重命名等事情有时会出现问题。
答案 4 :(得分:0)
C ++是一种非常难以提供重构支持的语言。这是因为语言非常复杂且难以解析,但主要是因为预处理器。
预处理器是C / C ++ IDE落后于其他语言的主要原因。