我知道通过右键单击并选择“计算代码指标”,我可以在Visual Studio 2008团队资源管理器中访问我的代码的圈复杂度。我想公开这个数据,以便Web应用程序显示它。有人知道通过API访问这些数据的方法吗?
感谢您的帮助!
答案 0 :(得分:2)
答案 1 :(得分:2)
如 answer 所述,可以利用 Gendarme 开源工具的API来计算方法的圈复杂度
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);
}
}
答案 2 :(得分:1)
没有API。但是您可以读取Code Metrics Power Tool生成的XML文件。因此,您将通过命令行生成代码度量XML文件,如:
metrics /f:MyAssembly.dll /o:MetricsResults.xml
然后从MetricsResults.xml中获取您想要的数据。
有关电动工具here的更多信息。
答案 3 :(得分:-1)
我没有 - Visual Studio是否有这种类型的 API? - 但计算圈复杂度相当容易。 Gendarme可能是您的答案。