我想开始测量MichaelFeathers所说的代码湍流,即churnvs.complexity.为此,我需要衡量C++或Java文件的复杂性。所以我找到了几个测量圈复杂度(CC)的工具。他们每个人都在功能或方法级别很好地衡量CC。但是,我需要一个文件级别的指标,但它们在这方面做得并不好。一个工具只返回文件中所有方法复杂度的平均值,而另一个工具将整个文件视为一个巨大的方法,即计算整个文件中的所有决策点。所以我做了一些研究,发现McCabe仅根据模块来定义CC——他们将模块定义为函数——而不是文件(参见thispresentation的幻灯片20和30)。我认为这是有道理的。所以现在我只