Repository navigation
Code Analysis · One Page
Maintainer:@yijiez666-alt
- 帮助人和 AI 理解代码库的模块与依赖。
- 对比代码变更,辅助调查影响范围。
- 为分析结果提供源码依据,便于核查。
当前优先验证分析准确性和覆盖范围,暂不扩展前端展示。
Current review map links the Draft PRs, dependency order, validation and remaining review decisions. Vite configuration study adds a source-backed example of following unchanged wrappers.
文档归类:
- 设计讨论: https://github.com/tt-a1i/archify/blob/labs/code-analysis/docs/designDoc/code-analysis-product-plan.md
- 路线图: https://github.com/tt-a1i/archify/blob/labs/code-analysis/docs/designDoc/code-analysis-roadmap.md
| 能力 | 说明 |
|---|---|
| 源码分析 | 支持 JS/TS、Python、Java,每次分析一种语言;读取源码,不执行代码 |
| 依赖检查 | 生成模块依赖图,检查文件与模块循环、高耦合枢纽(hub),以及绕过入口文件直接引用模块内部文件 |
| 函数复杂度 | Python、JS/TS、Java 的圈复杂度和嵌套深度;Java 包含方法与构造器 |
| 架构边界 | 按配置的分层规则检查跨层引用,需要用户开启 |
| 稳定 ID 与证据哈希 | 同一问题在多次运行间 ID 不变;代码一变就能察觉 |
| 基线、对比、重新分析 | 基线按稳定 ID 记录已接受的问题和原因,证据变化后重新提示;对比两次分析结果并说明是否可比及原因;页面上可重新分析,失败时保留上一轮结果 |
| 配置 | 对象逐键合并,数组整体替换,ignore 关闭规则 |
| 统一阅读栏 | 总览和前三优先项 → 问题 → 最小代码证据 → 建议 |
| AI 任务交接 | “Copy task for AI”一键复制事实、证据、允许修改的文件和验收要求;JSON 与 Markdown 出自同一生成器 |
| CLI |
check 支持无图分析、JSON 输出和 CI 检查门禁;task 导出 AI 任务,并检查源码依据是否仍有效 |
| 可视化 | Classic 关联架构图与源码,供溯源检查;Atlas 展示模块、文件、依赖和复杂度的总结图;Atlas 3D 为实验原型,定位未定 |
| 真实项目验证(CLI) | 在 AI Voice 和 CodeBoarding 上跑通“导出任务 → AI 修改 → 证据失效 → 同配置重分析”的闭环 |
当前处于实验阶段,尚未合入 dev / main。模块依赖图不等于完整调用图,动态调用和跨语言关系仍需结合源码确认;未覆盖的范围不代表没有问题。
11 月 5–6 日的固定开源样本已覆盖 JS/TS、Python 和 Java。团队可复核导入目标、公共导出、回调与服务选择,以及整库扫描覆盖。源码位置、复现命令和 Draft PR 见团队验证记录。
调用事实采集已从本地实验拆成 Draft #1225,基于 #1220,尚未合入 Labs。四个固定源码范围的结果、调用模型边界与复现命令见调用证据验证。单入口问答线索已拆成 Draft #1226,支持 JS/TS 实现文件,并在回执中区分未采集与真实零调用。 Draft #1227 adds direct relative default function targets, with six Redux source checks and v1/v2 compatibility.
Draft #1229 isolates fresh before/after investigation for one required JS/TS entry. Seven source/archive checks cover public exports, a behavior fix, formatting, unchanged inputs and unsupported declaration coverage. It remains an orientation aid with explicit unknowns, not a complete impact analysis.
Draft #1234 adds saved Python/Java source-question entry points with SymPy/SLF4J validation. Calls remain unavailable; file dependencies do not establish Python object identity or Java runtime provider selection.
pandas selection study checks three semantic questions against pinned source and a separate finite runtime oracle. It also records a shared reader error and a way to inspect large evidence files without relying on a truncated display.
按路线图分阶段推进,每个阶段过了门槛再进下一阶段。
如需 claim TODO,请在对应条目末尾 @自己;有关联 Issue 或 PR 时,请附上链接。
认领 TODO 时,在条目末尾 @自己;如有关联 Issue,请附上链接。
- 将本地实验中的基础修复、调用分析、版本对比和文档改动整理为可审查的 PR。
- 使用真实代码调查验证分析准确性和覆盖范围,提供可复现的验证记录。
- 明确合入
dev的范围并完成审查,相关讨论见 PR #998。