我想问你是否知道一些计算CK指标的免费C#库(dll)(主要是Cyclomatic Complexity).
对于我打算做的项目,我需要这样做.我知道已经有一些完成的解决方案可以计算CK指标并以各种形式显示给你,但我需要的是我可以在我的应用程序中使用的解决方案.所以在开始写自己之前我首先想问你.
谢谢
nul*_*ken 16
DrivenMetrics是一个开源的C#命令行工具.核心功能与命令行控制台客户端隔离为库(此处可以使用Core项目).
即使非常简单,它也可能符合您的需求:它是免费的,计算行数并计算方法的圈复杂度(潜在代码路径的数量).
这是通过直接分析IL来实现的,这要归功于Mono.Cecil(NDepend所依赖的库).这允许对使用C#,VB.Net编写的代码构建的程序集执行分析,...
更新:
另一个选择是令人惊叹的 Gendarme,一个来自Mono项目的静态分析工具.
作为使用示例,下面的代码显示了程序集中每个方法的圈复杂度.
ModuleDefinition module = ModuleDefinition.ReadModule(fullPathToTheAssembly);
foreach (var type in module.Types)
{
foreach (var me in type.Methods)
{
if (!me.HasBody || me.IsGeneratedCode() || me.IsCompilerControlled)
continue;
var r = AvoidComplexMethodsRule.GetCyclomaticComplexity(me);
Console.WriteLine("{0}: {1}", me.ToString(), r);
}
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6217 次 |
| 最近记录: |