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_TTY和SSH_CONNECTION环境变量未设置。CI环境变量未设置。- 未传递
--no-open。
打开机制:macOS 上使用 open,Linux 上使用 xdg-open(或 gnome-open / kde-open),Windows 上使用 cmd /c start。
文件 URL 格式:file:///{absolute-path-to-report}。
无论是否自动打开,报告路径始终会打印到 stderr。
禁止自动打开¶
或者在环境中导出 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) |