过去,声纳使用了圈复杂性。在他们的网站上,他们提到了认知复杂性。但在他们的文档中,只有"复杂性"测量但具有相同的缺点"圈出的一个(例如,对于一个开关中的每个CASE增加1)。 那么现在使用哪一个呢?
答案 0 :(得分:1)
"复杂性"目前正在计算的指标是Cyclomatic Complexity。
值得注意的是,最近的Code Analyzer版本计算出正确的Cyclomatic Complexity值 - 与之前的Cyclomatic和Essential Complexities的组合相比。
认知复杂度指标在撰写本文时尚未提供,但应该可以使用"很快就会出现#34;。
<强>更新强> 认知复杂性目前在SonarJava,SonarJS,SonarC#,SonarSwift和SonarC-Family(C / C ++,Objective-C)中作为指标提供
答案 1 :(得分:0)
<强>更新强> 目前它是认知复杂性
答案 2 :(得分:0)
你可以在这里阅读: https://blog.sonarsource.com/cognitive-complexity-because-testability-understandability/
Java,JavaScript,C#和C / C ++ / Objective-C的认知复杂性。
据我所知(此刻)其他代码语言插件实现了Cyclomatic Complexity,因为它们没有迁移到新的计算方法。