I recently started using SourceMonitor to review my (and others) code. Though I understand other parameters judged by the tool, I don't know how does it calculates the complexity of the code. As in, what all parameters does it considers to read to a complexity number?
问问题
2018 次
2 回答
3
在 Help -> Help Topics -> Explanation of language Metrics -> C# -> Max Method Complexity -> (There is a hyperling) Complexity Value 中找到它。
于 2010-06-10T08:27:50.397 回答
2
如果没有他们的说明,很难知道,但最常见的衡量标准之一是圈复杂度- 衡量通过代码的路线数量。一个简单的自上而下的程序方法具有复杂性 1,所有循环/分支/捕获等都添加到此。这个想法是,如果这个值增长得太高,你的方法做的太多了,应该重构为一些更小、更有针对性的方法。
编辑; 从这里:
为 C# 添加了一个解析器。大多数指标类似于 C++ 和 Java。主要区别在于如何确定“最大”方法。对于 C# 来说,不是用最多的语句来识别方法,而是为每个文件找到最复杂的方法。复杂度测量类似于循环复杂度- 通过代码的可能路径的计数。
(强调我的)所以听起来他们有一个稍微修改过的常规 CC 变体。只有他们可以告诉你他们做了什么不同;p
于 2010-06-07T18:43:34.367 回答