跳转至

HTML 报告

pyscn analyze 生成的 HTML 输出规范(未指定 --json/--yaml/--csv 标志时的默认格式)。

文件特性

属性
路径 .pyscn/reports/analyze_YYYYMMDD_HHMMSS.html
编码 UTF-8
外部资源 无(CSS 和 JS 内联)
依赖 无(无 CDN、无远程加载字体)
大小 通常 50–500 KB

该文件是自包含的,可以安全地存档、通过电子邮件发送或从任何静态托管服务器提供。

文档结构

元素 内容
头部 项目名称、生成时间戳、pyscn 版本、耗时。
总体评分卡 健康评分(0–100)、等级徽章(A–F)。
分类评分卡 每个已启用分析器一个,显示其 0–100 评分。
标签页 概要、复杂度、死代码、克隆、耦合度、内聚度、依赖、架构。
页脚 pyscn 仓库链接和版本字符串。

分类评分卡和标签页仅在对应分析器已运行时显示。架构标签页仅在配置了 [architecture] 层时显示。

标签页

标签页 内容
概要 高层统计数据和等级。
复杂度 可排序的函数表格,包含 McCabe / 认知复杂度、嵌套深度、风险级别。
死代码 按严重性分组的发现,包含文件:行和原因。
克隆 克隆组,包含相似度和克隆类型。
耦合度 按 CBO 排列的类,包含依赖类型细分。
内聚度 按 LCOM4 排列的类,包含方法分组。
依赖 模块图、Ca/Ce/I/A/D 指标、循环。
架构 分层规则违规。

JavaScript

一个内联函数 showTab(id) 用于切换标签页。没有其他脚本执行。没有网络请求。

CSS

样式使用以下 CSS 自定义属性:

变量 语义角色
--color-success 低风险发现、等级 A。
--color-warning 中等风险发现、等级 B/C。
--color-danger 高风险发现、等级 D/F。
--color-text 正文文本。
--color-muted 次要文本。

暗色模式遵循 prefers-color-scheme 媒体查询;没有手动切换开关。

自动打开行为

当以下条件全部满足时,报告会在默认浏览器中打开:

  • 格式为 HTML。
  • 标准输入为 TTY。
  • SSH_TTYSSH_CONNECTION 环境变量未设置。
  • CI 环境变量未设置。
  • 未传递 --no-open

打开机制:macOS 上使用 open,Linux 上使用 xdg-open(或 gnome-open / kde-open),Windows 上使用 cmd /c start

文件 URL 格式:file:///{absolute-path-to-report}

无论是否自动打开,报告路径始终会打印到 stderr。

禁止自动打开

pyscn analyze --no-open .

或者在环境中导出 CI=true

等级徽章映射

等级 分数 徽章背景色
A 90–100 绿色(--color-success
B 75–89 浅绿色
C 60–74 橙色(--color-warning
D 45–59 浅红色(--color-danger
F 0–44 红色(--color-danger

交叉引用