用途:降低 Python 代码的圈复杂度与认知复杂度,提升可维护性与可读性,并跟踪复杂度随时间的变化。
主要能力:度量圈复杂度与认知复杂度;识别过于复杂的函数与模块;识别过长文件(代码文件不超过 500 行,除非不可避免);应用重构模式降低复杂度;跟踪复杂度改进趋势;在 CI/CD 中强制复杂度阈值。
所需工具:在 [dependency-groups] dev 中加入 "radon"、"lizard"、"xenon"、"wily"。radon 用于圈复杂度与可维护性指数;lizard 用于认知复杂度(更利于可读性);xenon 用于 CI/CD 阈值强制;wily 用于跨 git 历史跟踪趋势。权限方面需先运行 py-quality-setup 配置 .claude/settings.local.json 的工具权限。
发现阶段常用命令:radon cc . -n C(复杂度 ≥11 的函数);lizard -C 15 .(认知复杂度警告);radon mi . -n B(可维护性指数 <65);wily build .(一次性初始化跟踪);wily diff HEAD~10(比较趋势);scc --by-file --ci(可选代码统计,openSUSE 上名为 sccount)。阈值:圈复杂度 ≥C(11+)时重构;认知复杂度 >15 时重构;可维护性 <65 时重构;代码文件显著超过 500 行时拆分,除非不可避免。
可检测的复杂度增加模式:魔法数字与字符串、重复字段操作、重复的复杂类型定义、长 if/elif 链、深层嵌套代码。重构模式包括提取函数、卫语句、查找表、提取魔法数字与字符串、替换重复字段操作、提取重复复杂类型定义。验证清单:radon cc . -n C 无 ≥C 函数;lizard -C 15 . 无认知复杂度警告;radon mi . -n B 无可维护性 <65 模块;无超过 500 行的代码文件;wily build . 已初始化;重构后所有测试通过;代码覆盖率保持或提升。
适用场景:Python 项目重构、代码质量治理、CI/CD 复杂度门禁。限制:需先配置工具与权限;重构前应有测试安全网;具体效果因项目而异,资料未提供更多平台或收费信息。