Eclipse中C ++重构支持的状态是什么?

时间:2020-03-06 14:41:56  来源:igfitidea点击:

它是否处于实际有用的状态,并且可以比重命名类做更多的事情?

解决方案

CDT(C / C ++开发工具eclipse项目)5.0具有许多新的重构功能

* 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

是的,如果代码太复杂,它们中的大多数实际上不起作用。诸如移动方法,重命名等之类的事情有时会出现问题。

C ++是一种很难提供重构支持的语言。这是因为语言非常复杂且难以解析,但这主要是因为预处理器。

预处理程序是C / C ++ IDE落后于其他语言的主要原因。

为提供C ++重构工具已经付出了许多努力,其中大多数都是在早期就失败了,因为创建此类工具需要具备处理C ++源代码的全部能力,即,首先需要一个运行正常的完整c ++编译器才能实现甚至是自动源到源转换的最基本形式。

幸运的是,随着在gcc中引入插件,终于可以预见,相关的工作实际上可能能够为此目的利用现有的C ++编译器,而不必求助于自己的C ++编译器实现。

有关更深入的讨论,我们可能需要检查一下。

就目前而言,提供广泛的自动化C ++重构支持的最有希望的候选人肯定是Mozilla Pork项目及其相关的配套项目Dehydra。

Ref ++支持的某些C ++重构不需要完全理解C ++语法。例如上拉法,下推法等非常简单。由于某种原因,这种重构未实现为CDT重构。