我希望快速了解我们有多少“复制和粘贴”编码,有很多 C#/Java 工具可以检查这种类型的东西。有没有这样的工具可以很好地与 VB.NET 配合使用?
(我已经看到了很多重复的代码,但希望得到一些数字来帮助我整理出一个案例)
更新进度。
我刚试过猿猴。
- 它似乎无法生成我可以通过电子邮件发送的格式良好的报告
- 当局部变量或参数等的名称可能已更改时,它无法处理,例如,它仅匹配相同的文本行。
Clone Doctor不支持 VB.NET(仅 C# 和 VB 6 以及许多其他)
2010 年 10 月:VB.net 添加到 CloneDR 支持的语言中
Visual Studio 的克隆侦探仅支持 C#
SolidSDD - 源代码重复检测器仅支持 C、C++、C# 和 Java
DuplicateFinder是开源的,但在其他方面看起来很像 Simian,例如它只适用于文本行
ConQAT - 持续质量评估工具包 似乎有一个适用于 VB.NET 的克隆检测器(尚未尝试过)
Gendarme有点像 FXCop 并且有一个AvoidCodeDuplicatedInSameClassRule规则,这看起来很有前途,因为它避免了在文本级别工作的问题。 刚试了一下,是目前为止最好的解决方案,可惜搜索范围不大。
在声称此问题重复之前,请检查其他问题是否针对VB.NET,因为许多适用于C#的工具对VB.NET效果不佳。(但是,如果这个问题是真正的重复,我不会感到惊讶)