在Visual Studio 2010中计算代码度量标准

时间:2011-12-22 14:02:05

标签: c# visual-studio-2010 metrics

我正在寻找可以在方法主体旁边或在工具窗口中显示代码指标(特别是圈复杂度)的扩展,因为我输入(没有其他交互)。

到目前为止,我知道:

  • Code Metrices by Elisha免费且简单。我不知道它计算的是什么度量标准,但是在某处读取它不是圈复杂度。它不支持任何其他指标。

  • CodeMetricAdornment by Carpslayer 仅支持代码文件中的代码行,注释和空格。

  • CodeRush不免费。正是我想要的(公制是可选的),不幸的是我已经在使用ReSharper了,而且我认为拥有/购买两者都是一种过度杀伤。

还有其他人吗?他们提供了哪些指标?

2 个答案:

答案 0 :(得分:4)

安装CodeRush(并关闭所有您不需要的选项)当然是最简单的。可以让CodeRush和Resharper一起工作,请参阅some of the answers here。如果您只想试一试,可以free trial

(还有一个名为CodeRush Xpress的免费精简版CodeRush,但我刚检查过,它不包含代码指标。)

如果您真的反对安装整个CodeRush,DevExpress还免费提供其构建的Visual Studio插件技术DXCore。因此,您可以创建自己的插件(无需安装CodeRush)。 There is a tutorial here继续here并且有一些(正在进行中的工作)docs here和另一个tutorial here

这些教程是关于创建自己的指标,但您应该只需将自定义代码替换为:

public partial class PlugIn1 : StandardPlugIn
{
    private void codeMetricProvider1_GetMetricValue(object sender, GetMetricValueEventArgs e)
    {
        e.Value = e.LanguageElement.GetCyclomaticComplexity();
    }
}

但是,我不认为教程会涵盖结果值的显示(例如,方法旁边),因此您可能需要进一步挖掘(但DXCore也可以处理)。

答案 1 :(得分:0)

这是一个可以满足您的要求的工具,即在编写应用程序时使用api实现代码度量。这有助于您以编程方式立即生成或建议代码指标。它生成的指标远远超过您在此处指定的指标。

以下是该工具的链接。 http://www.ndepend.com/ConstraintsExtractedFromCode.aspx