2010-08-19 68 views
0

是否有一种工具可以扫描您的代码并根据它找到的重复代码段提示要执行哪些重构?假设我对C#/ Java特别感兴趣,但我也开放了其他语言的工具。自动重构工具?

回答

1

我还没有使用它,但Clone Doctor可能适合你。

+1

CloneDR会为每个重复的代码块显示带有参数绑定(“参数”)的代码的参数化版本。把它变成一个函数调用或宏是很容易的。 – 2012-05-10 12:05:54

1

对于Java,您可以使用静态代码审阅工具来搜索违反一组选定规则的情况,其中一些规则涉及代码重复。 Checkstyle有规则来查找重复的代码和重复的字符串文字。另一种选择是PMD复制/粘贴检测器

这些工具不会自行重构,但可以帮助您查找可能需要更改的代码。

1

对于Haskell,有hlint,它提出了具体的重构(即结果代码),这可能是因为参照透明性。

0

您的需求,Designite可能是一个有用的工具。这是一个软件设计质量评估工具。它需要C#代码,分析代码并检测代码中的设计异味。同时,它还提供了一些但重要的OO指标。