在SourceMonitor中用于计算复杂性的参数是什么?

时间:2010-06-07 17:14:14

标签: c# code-complexity source-monitor

我最近开始使用SourceMonitor来审核我的(和其他)代码。 虽然我理解该工具判断的其他参数,但我不知道它是如何计算代码的复杂性的。如何,它考虑读取复杂性数字的所有参数是什么?

2 个答案:

答案 0 :(得分:3)

发现它 帮助 - >帮助主题 - >语言指标说明 - > C# - >最大方法复杂度 - > (有一种超级复杂的价值。)

Source Monitor Complexity Value http://tinypic.com/r/10yi0kp/6

答案 1 :(得分:2)

如果没有它们说明它很难知道,但最常见的措施之一是cyclomatic complexity - 衡量通过代码的路由数量。一个简单的从上到下的程序方法具有复杂性1,所有循环/分支/捕获等都增加了这一点。我的想法是,如果这种方法变得太高,那么你的方法做得太多了,应该重构为一些更小,更有针对性的方法。


编辑; from here

  

添加了C#解析器。大多数指标与C ++和Java类似。主要区别在于如何确定“最大”方法。对于C#,不是使用大多数语句识别方法,而是为每个文件找到最复杂的方法。 复杂性测量类似于Cyclomatic Complexity - 计算代码中可能路径的计数。

(强调我的)所以听起来他们有一个略微修改的常规CC变体。只有他们可以告诉你他们做了什么不同; p