【问题标题】:Cyclomatic Complexity: Resharper vs CodeMaid圈复杂度:Resharper 与 CodeMaid
【发布时间】:2015-08-06 07:41:02
【问题描述】:

我已经使用 CodeMaid 和 Resharper 有一段时间了,并注意到它们都计算了 Cyclomatic Complexity。虽然,他们的计算总是不同的,所以我认为他们的计算逻辑也是如此。 但是,根据您的经验,哪一个更准确?似乎 Resharper 的通常更高,但 CodeMaid 更容易被发现。

也许他们中的一个人计算错了?或者只是不同,但可以接受?

提前致谢!

【问题讨论】:

    标签: visual-studio-2013 resharper cyclomatic-complexity codemaid


    【解决方案1】:

    CodeMaid 的实现我说不上来,但是 ReSharper 的实现是基于将源代码解析成抽象语法树,并根据这些信息实际构建一个控制流图(这个控制流图也用于空值分析,跟踪事物何时为空、不为空或未知,允许进行诸如“可能的 NullReferenceException”之类的检查)。我希望 ReSharper 的计算准确,但不确定。

    也就是说,只要值之间的差异相当一致,那么确切的值是多少并不重要 - 只要您知道阈值意味着您拥有的代码太复杂。

    【讨论】:

    • 作为 CodeMaid 的作者,我同意citizenmatt 的评价。 ReSharper 的实现比我们自己的要复杂得多,它是基于检测到的关键字的快速而肮脏的近似。随着 VS2015 和 Roslyn 现在提供这些指标,我们的待办事项是利用新的 VS 指标并弃用我们自己的快速计算。 trello.com/c/wlC1l3RB
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多