我一直在使用CodeMaid和Resharper一段时间,并注意到他们都计算了Cyclomatic Complexity。虽然,他们的计算总是不同,所以我认为他们的计算逻辑也是如此。 但是,根据您的经验,哪一个更准确?看来Resharper通常更高,但CodeMaid更容易被发现。
他们中的一个人可能错误地计算了吗?或者只是不同,但可以接受?
提前致谢!
答案 0 :(得分:4)
我无法与CodeMaid的实现交谈,但ReSharper的基础是将源代码解析为抽象语法树,并实际构建基于此信息的控制流图(这控制流图也用于空值分析,当事物为空,非空或未知时进行跟踪,允许进行检查,例如"可能的NullReferenceException")。我希望ReSharper是一个准确的计算方法,但不确定。
也就是说,只要值之间的差异相当一致,那么确切的值是什么并不重要 - 只要你知道什么阈值意味着你所拥有的代码太复杂了。 / p>