标签: churn

如何衡量 C++ 或 Java 文件的复杂性?

我想开始衡量 Michael Feathers 所说的代码动荡,即churn vs. complex

为此,我需要衡量 C++ 或 Java 文件的复杂性。所以我找到了几个测量圈复杂度(CC)的工具。他们都在功能或方法级别很好地测量了 CC。但是,我需要一个文件级别的指标,而他们在那里做得并不好。一个工具只返回文件中所有方法复杂度的平均值,另一个工具将整个文件视为一个巨大的方法,即计算整个文件中的所有决策点。

所以我做了一些研究,发现 McCabe 仅根据模块来定义 CC——他们将模块定义为函数——而不是文件(参见本演示文稿的幻灯片 20 和 30 )。我认为这是有道理的。

所以现在我要尝试弄清楚如何表示文件复杂性。我的想法是我应该对该文件使用最大方法 CC 。

关于这种方法的任何想法或任何其他建议?

谢谢!

c++ java cyclomatic-complexity code-metrics churn

7
推荐指数
1
解决办法
2974
查看次数

计算熊猫的月流失率

这是我的数据框中的数据示例:

test = pd.DataFrame({
    'month': [1,2,3,4,5,6,7,8,9],
    'new': [23,45,67,89,12,34,56,90,12],
    'drop': [2,4,7,9,1,4,6,9,1],
})

month   new drop
0   1   23  2
1   2   45  4
2   3   67  7
3   4   89  9
4   5   12  1
5   6   34  4
6   7   56  6
7   8   90  9
8   9   12  1
Run Code Online (Sandbox Code Playgroud)

我需要计算每月的流失率。我需要对列中的 2 行求和new,然后将值drop除以这个总和(以 % 为单位)。

    month 1: 2*100/23
    month 2: 4*100/(23+45-2)
    month 3: 7*100/(23+45+67-2-4)

    etc.
Run Code Online (Sandbox Code Playgroud)

任何人都可以提出一种优雅的方式来做到这一点吗?

python-3.x pandas churn

1
推荐指数
1
解决办法
1246
查看次数