我的大多数 javascript 代码文件如下所示:
(function() {
var Foo = function() {
...
};
var Bar = function() {
...
};
...
}());
我尝试了许多计算代码圈复杂度的工具,但它们都生成了错误的报告(从我的角度来看),即:它们都将包装函数作为最复杂的函数。
这样做的问题是所有报告都被这个事实严重扭曲:包装函数通常占据复杂度饼图的一半以上,并且所有平均数字都有偏差。
有没有办法获得我的代码的真正复杂性,而不是受到包装函数的偏见?
所有这些工具都做错了吗?将我的代码包装在一个函数中以进行范围界定(我不这么认为),我做错了吗?我使用这些工具做错了吗?
编辑
有人建议在计算复杂度之前删除包装函数,我很乐意这样做,但是有没有可靠的方法可以自动完成呢?请忽略这一点并寻求适当的解决方案。