pyscn¶
Python 结构化静态分析工具。通过控制流和语法树分析检测死代码、重复代码、复杂度和耦合问题。
功能¶
- 33 条规则,涵盖不可达代码、重复代码、复杂度、类设计、依赖注入、模块结构和 mock 数据。
- 基于 CFG 的可达性分析,可发现
return/raise/break/continue之后的死代码和不可达分支。 - APTED + LSH 克隆检测,支持四种克隆类型(完全相同、重命名、修改、语义)。
- CBO / LCOM4 类耦合度和内聚度度量。
- 循环导入检测,基于 Tarjan 强连通分量算法。
- 健康评分(0-100),按类别分项评估。
- CI 就绪,提供
pyscn check命令、linter 风格输出和确定性退出码。 - MCP 服务器(
pyscn-mcp),支持 Claude Code、Cursor 及其他 MCP 客户端。
使用 Go 编写。在常见硬件上分析速度超过 100,000 行/秒。无 Python 运行时依赖。
安装¶
uvx pyscn@latest <command> # 免安装直接运行(推荐)
uv tool install pyscn # 使用 uv 安装
pipx install pyscn # 使用 pipx 安装
pip install pyscn # 使用 pip 安装
详见安装指南。