C-Refactory

2003年10月18日

到目前为止188app彩票ios重构工具出现在许多语言中。在Smalltalk的领导下,我们看到了一些用于Java的工具和一些用于c#的工具。尽管如此,有一种语言的缺失是显而易见的,那就是c++上诉.尽管第一个重构命题是由188app彩票ios比尔Opdyke他有c++的背景。

这有几个原因,包括c++语言的复杂性。然而,这些困难并不能长期阻止那些下定决心的人拉尔夫•约翰逊已经决定在UIUC继续重构工作的好传统。188app彩票ios由于c++是如此复杂,所以从C开始有很多可说的。C避免了c++的一些复杂性,而且不缺少可重构的C程序。此外,C与c++有一些相同的严重挑战,比如预处理器。

我在JAOO会议他给我介绍了Alejandra Garrido的研究她接受了这个挑战C Refactory.他的描述主要是处理C预处理器、特殊条件编译和宏的困难。最关键的问题是,准确重构操作程序的抽象语法树(AST),但宏距离AST的程序文188app彩票ios本。结果一个C重构工具需要建立一个macro-aware AST包含在它的变体被编译的AST。这是一项复杂的工作,但Alejandra已经取得了一些成功,包括阅读Linux内核的源代码,作为研究工具测试的一部分。

现在让全世界的程序员都使用工具来重构他们的C语言还为时过早,但是你们中有兴趣的人可能会喜欢看看C Refactory网站。它包含了Alejandra和Ralph的一堆论文,并描述了如何进入邮件列表以找到更多关于这项工作的信息。