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重构。