1. 圈复杂度
1.1 什么是圈复杂度?
引用[1]
圈复杂度是 Thomas J. McCabe 在 1976年开创的软件指标,用来判断程序的复杂度。这个指标度量源代码中线性独立的路径或分支的数量。根据 McCabe 所说,一个方法的复杂度最好保持在10 以下。这是因为对人类记忆力的研究表明,人的短期记忆只能存储 7 件事(偏差为正负 2)。如果开发人员编写的代码有 50 个线性独立的路径,那么为了在头脑中描绘出方法中发生的情况,需要的记忆力大约超过短期记忆容量的 5倍。简单的方法不会超过人的短期记忆力的极限,因此更容易应付,事实证明它们的错误更少。Enerjy 在 2008年所做的研究表明,在圈复杂度与错误数量之间有很强的相关性。复杂度为 11 的类的出错概率为 0.28,而复杂度为 74的类的出错概率会上升到 0.98。
1.2 计算原理
TODO
2. lizard
Git源码链接 https://github.com/terryyin/lizard
- 默认递归分析文件夹
- 支持15中开发语言: C/C++ (works with C++14); Java; C# (C Sharp); JavaScript (With ES6 and JSX); Objective-C; Swift;
Python; Ruby; TTCN-3; PHP; Scala; GDScript;Golang; Lua; Rust
2.1 依赖安装
方式一 pip安装
pip install lizard
方式二 源码安装
python setup.py install --install-dir=/path/to/installation/directory/
方式三 直接运行
直接将lizard.py及依赖的目录移动到待检测的文件目录中, 直接在命令行中运行以下命令,控制台数据结果表格
python lizard.py
2.2 使用
命令行使用
lizard


1174

被折叠的 条评论
为什么被折叠?



