为 C# Express 用户识别潜在重复代码的好工具都有哪些? [关闭]

Posted

技术标签:

【中文标题】为 C# Express 用户识别潜在重复代码的好工具都有哪些? [关闭]【英文标题】:What are good tools for identifying potentially duplicated code for C# Express users? [closed]为 C# Express 用户识别潜在重复代码的好工具有哪些? [关闭] 【发布时间】:2009-04-16 21:26:11 【问题描述】:

另见“Any tools to check for duplicate VB.NET code?"

我的一个朋友只能使用 Visual Studio 的 Express 版本,我正在尝试帮助他重构以删除大量重复。

【问题讨论】:

【参考方案1】:

您可以查看Simian 或DuplicateFinder。两者都不依赖于 IDE,尽管您可以 integrate Simian quite easily。

【讨论】:

【参考方案2】:

Clone Detective 似乎对您有用。我以前没用过,但本周我在 codeplex 上偶然发现了它。

【讨论】:

我以前用过一两次,但它确实报告了一些误报,虽然不多。 查看页面,这表明VS标准或更高。它不适用于 Express。【参考方案3】:

您的朋友应该看看Gendarme,它是 Microsoft 的 FxCop/Code Analysis 的 FOSS 和跨平台替代方案,它是 Mono 项目的一部分。它includesrules 检查重复代码。

【讨论】:

【参考方案4】:

试试Atomiq:

Atomiq Code Similarity Finder 是一款供开发人员查找和消除重复代码的工具。它是为 .NET 开发人员设计的,但同样适用于其他语言的开发人员,甚至是网页设计师! Atomiq 适用于各种源代码:

我们目前支持 C#、VB.Net、ASPX、Ruby、Python、Java、C、C++、 ActionScript 和 XAML,即将推出更多扩展。这是 更新代码的人的完美伴侣工具 很少,并且不可能记住其中的所有内容或 由 2 名或更多开发人员组成的团队在同一个项目上工作 因为不是他们自己写的,所以什么都知道。

消除类似代码

(以及随之而来的用头撞墙) Atomiq 不只是找到完全匹配,它会找到相似的代码。它忽略 “绒毛”,如空格、字符串内容、花括号、cmets 和 using/import 语句,以便您可以找到导致的重复代码 问题。在 VB.NET 中,它也会忽略仅包含 “Next”、“End While”、“End Try”、“End If”、“End Property”、“End Get” 和“结束集”。

【讨论】:

这个下载链接似乎坏了,我在他们的 Dropbox 链接上收到 404 错误【参考方案5】:

仅供参考,既然你提到了“速成版”,你可能需要寻找可以在 VS 之外工作的东西,因为我不相信速成版支持插件

【讨论】:

速成版明确不支持插件。从技术上讲,它确实如此,因为 MS 提供的一些功能是插件,但是为了让它们工作而跳了起来。【参考方案6】:

查看我们的CloneDR,它适用于多种语言,包括 C#。

2010 年 10 月编辑:VB6、VBScript 和 VB.net 添加为 CloneDR 支持的语言。 没有对 MS IDE 的特定支持,但它在一个简单的源文件列表上运行,并生成一个漂亮的 html 报告,因此不需要太多集成。请参阅链接中的示例报告。

【讨论】:

以上是关于为 C# Express 用户识别潜在重复代码的好工具都有哪些? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

一种基于AndroidiOS平台的移动端银行卡识别技术,移动支付的好帮手

SocketIO 识别断开的用户

从用户代理中识别 iOS 设备的好方法是啥?

如何使用 JWT 在 Express 中验证单个路由(无代码重复)的多种类型用户的身份验证令牌?

LINQ to Entities 无法识别方法“Double Parse(System.String)”无法转换为存储表达式 C# asp.net [重复]

想深入学习C#语言,有没有达人知道C#的好的资料呢?