圈复杂度度量

在C/C++下强烈推荐 CCM ,优点如下:

  1. 配置文件是类xml格式,参数很少,非常容易配置
  2. 可以按目录、文件、函数来设置排除项,对有些函数来说,比如switch下有多个case而且每个case的逻辑都非常简单,可读性本身就很高的情况下可以直接排除
  3. 可以设置只统计 top N 的函数,一般我设置 top 30,圈复杂度的度量只需要关注最高的这部分函数就可以,识别出来并重构,然后看新的 top 30……
  4. 有 Jenkins 插件,很容易集成到 CI 中

最大的缺点是只能在windows下使用,不能跨平台……


有一些圈复杂度的工具,我觉得不太好,不知道作者为什么要这么设计功能,比如:

  • 统计类/包的复杂度
    完全没有必要,圈复杂度的定义就是针对函数的,统计类或者包的圈复杂度没有任何意义

  • 统计新增代码的复杂度
    逻辑是已经写好的代码就不管了,新增的代码要求高一点,不能理解

你可能感兴趣的:(圈复杂度度量)