有什么工具可以暗示潜在的重构

时间:2010-01-12 23:40:40

标签: c refactoring

我不想要实际执行重构的工具,而是需要用于查找和建议潜在重构的工具。特别是用于识别相似代码块并且可以合并到实用程序函数中的工具。

这里的背景是我被要求调查减少嵌入式C系统的代码大小。此任务似乎主要分解为删除不需要的代码(死代码)和合并重复的代码。各种lint工具将找到死代码。但我仍然需要一种找到重复代码的方法。

2 个答案:

答案 0 :(得分:1)

我建议你看看PMD's Copy Paste Detector。虽然它默认为Java代码,但它也支持c ++,php和ruby。

PMD在词汇基础上执行此操作,并且有一些选项可以忽略代码中的常量。更好的代码重复检测器构建AST,并比较类似的树。 AST方法更好,因为格式和变量名称不会影响结果。

答案 1 :(得分:0)

PMD已被提及。 ACNP software有一个商业(但相当便宜)。