【问题标题】:How does radon calculate cycloMatic complexity of a class?氡如何计算类的圈复杂度?
【发布时间】:2023-03-20 07:21:01
【问题描述】:

我运行 radon cc -s myFile.py 来计算 Cyclo 指标,我在下面粘贴了部分结果

...
(more stuff)
C 37:0 MyClass - A (3)
M 40:4 MyClass.letter - A (2)
M 47:4 MyClass.fullname - A (2)
M 58:4 MyClass.__str__ - A (1)
...
(more stuff)

Radon 的Documentation 没有具体说明如何计算类的指标。对我来说,类具有圈复杂度是没有意义的,因为它本身并不像方法或函数那样代表代码流,即使存在我也希望类的圈复杂度是其方法的 CC 总和,这显然不是这里的情况。

【问题讨论】:

    标签: python code-metrics cyclomatic-complexity flake8


    【解决方案1】:

    这里是实现:https://github.com/rubik/radon/blob/f11f905d3c1b9a300dcb811ddf714902e087beee/radon/visitors.py#L122-L283

    似乎有一个设置使氡气从 0 开始计数,而不是从 1 开始计数,尽管从他们的文档中不清楚如何触发这个

    这似乎不是复杂性计数的标准形式,例如 McCabe's,但对于 python 来说更实用(例如选择专门处理 try 块)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 1970-01-01
      相关资源
      最近更新 更多