例如下面这个函数,圈复杂度为1,意味着代码只有一条路径。...:
def add(a, b):
return a + b
对于有一条分支的代码,它的圈复杂度为 2 ,比如下面递归计算阶乘的代码:
def factorial(n):
if n == 0:...除了mccabe,现在市场上也有很多检测圈复杂度工具
工具 类型 系统平台 扫描语言
PMD/Checkstyle 免费 Windows/Linux/Mac Java,JS
OClint 免费 Mac...OC
Coverity 商业 Windows/Linux/Mac C/C++,Java,C#,OC/C++,JS,Python,Ruby,PHP
SourceMonitor 免费 Windows C/C...免费 Windows/Linux/Mac C/C++,Java,C#,JS,OC/C++,Swift,Python,Ruby,TTCN-3,PHP,Scala,GDScript
代码质量优化
———