我知道我可以通过右键单击并选择“计算代码度量”来访问我在 Visual Studio 2008 团队资源管理器中的代码的圈复杂度。我想公开这些数据以供 Web 应用程序显示。有人知道通过 API 访问这些数据的任何方式吗?
谢谢你的帮助!
我知道我可以通过右键单击并选择“计算代码度量”来访问我在 Visual Studio 2008 团队资源管理器中的代码的圈复杂度。我想公开这些数据以供 Web 应用程序显示。有人知道通过 API 访问这些数据的任何方式吗?
谢谢你的帮助!
如this 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);
}
}
没有 API。但是您可以阅读Code Metrics Power Tool生成的 XML 文件。因此,您将通过命令行生成代码度量 XML 文件,例如:
metrics /f:MyAssembly.dll /o:MetricsResults.xml
然后从 MetricsResults.xml 中获取您想要的数据。
更多关于电动工具的信息在这里。
我没有——Visual Studio 是否有任何此类 API?- 但计算圈复杂度相当容易。 宪兵可能是你的答案。