C#源代码分析工具

15

可能重复:
有哪些可用于 C# 的静态分析工具?

各位,我正在寻找一个用于 C# 的开源或免费的源代码分析工具。该工具应能够从源代码中生成诸如圆形复杂度、行数、注释行数、SEI 可维护性等指标。 有人知道这样的工具吗?


这里可以查看答案:https://dev59.com/CnVD5IYBdhLWcg3wQJST一些静态分析工具可以进行死锁检测。此外,可以尝试使用微软的FxCop - David d C e Freitas
9个回答

7

6

NDepend并非免费供非学术或开源软件使用,但它非常棒,并且可以使用内置的代码查询语言提供这些指标(以及许多其他指标)。

这个问题或多或少是这个问题的重复: 计算代码指标,你会在那里找到一整套好的建议。


NDepend 不是在源代码级别工作,而是在中间语言级别工作。 - jaircazarin-old-account
据我所知,上次我检查时,NDepend适用于C#的源代码级别,但不适用于VB.NET(仅限IL)。 - Jeremy Frey
NDepend 可以在 IL 代码、源代码、PDB 和代码覆盖率级别上工作,其思想是尽可能地从各种来源合并数据。http://www.ndepend.com/docs/ndepend-analysis-inputs-explanation - Patrick from NDepend team
我们很乐意赞助学术和开源项目,欢迎随时与我们联系。 - Patrick from NDepend team

4

Gendarme是完全开源且免费的。它是Mono的一个子项目。您可以通过向导、控制台或NAnt三种方式运行工具。它将生成一个HTML报告,总结所有违反的规则。值得一看。


4

SourceMonitor 是一款免费的 C# 代码度量工具,虽然它已经有些年头了,但仍然非常实用。


2

Reflector有许多插件(也是免费的):

Reflector插件

我相信CodeMetrics插件可以满足您的需求。


我在工作中不使用VS 2008,而CodeMetrics对我来说非常好用。谢谢! - Socratees
很高兴它能正常工作。如果有机会,我想重申每个人的感觉,你应该试试NDepend,它很棒! - AlexCuse

2
Axivion Bauhaus Suite 可以免费用于学术研究,但商业用途需付费。该软件套装包括以下功能:
  • 软件架构可视化
  • 软件架构规则检查
  • 接口分析
  • 循环依赖检测
  • 克隆(复制)检测
  • 死代码检测
  • 代码风格违规检测
  • 一整套预定义的软件度量指标
  • 支持添加自定义度量和分析...
支持 C/C++、C# 和 Java 在各种平台上使用。

链接已损坏。 - Thomas Weller

1

我为 .Net 写了一个(完全)免费的代码分析应用程序 - Nitriq


Nitriq是一个很棒的工具。我用它进行逆向工程。 - Rénald
它在Windows 10上无法工作。 - xpmatteo
我没有找到从网站下载这个软件的方法。所有链接都指向404或损坏的Dropbox文件。 - Alex Sorokoletov

1

最新版本可以在这里找到。 - Peter K.
2
两个链接都失效了! - peval27
这是Visual Studio 2022代码度量值的文档,链接在此:https://learn.microsoft.com/en-us/visualstudio/code-quality/code-metrics-values?view=vs-2022 - Naktis

1

大多数这些功能都包含在Visual Studio 2008 Team System中。

在“工具|分析”菜单下,有代码指标的选项。大多数您想要的功能都在那里:圈复杂度、LOC和微软的(SEI可维护性指数的变体,它从0到100,其中100是最易维护的)-以及继承深度和类耦合作为额外功能。它不包括注释行数。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接