Agent Skills
返回列表
💻

代码审查调用图谱与影响分析

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_a10ab3ad/code-review-graph。

技能介绍

先解决代码审查中的范围失控

在一次变更中,一个函数签名或工具函数的修改可能沿调用链扩散,审查者需要先知道哪些文件、哪些函数会受影响,再进入逐行讨论。code-review-graph 针对这类问题,面向 Python、JavaScript 和 TypeScript 代码,提供基于静态调用图谱的影响范围输出。

基于 AST 与调用图做影响传播

  • 输入校验:检查路径存在、.py/.js/.ts 白名单,以及 text、json、dot 输出格式。
  • AST 提取:解析函数、类、方法、调用语句和导入关系,构建有向调用图,并记录 fan_in、fan_out 等信号。
  • 影响传播:基于变更文件计算传递闭包,输出直接和间接受影响的函数与文件,结果可转成结构化 JSON 或 Graphviz DOT。
  • 降级与占位:解析器不可用时切换正则近似模式,并标记 degraded: true;无法确认的调用目标、导入关系或未知节点使用 [需核实:字段] 占位,不做自动猜测。

适用边界与注意点

它适合代码审查前置分析、AI 编码工具缩小上下文、CI 合并请求前影响面检查,也可用于生成最小测试集和可视化依赖图。它不适用于运行时动态行为、反射或装饰器触发的动态调用,也不适合把多种语言混在一次调用中分析。已知限制包括 TypeScript 装饰器元数据、Python getattr(obj, name) 动态属性调用,以及大型文件解析耗时可能较高。对大型仓库,建议按模块拆分变更文件列表,并将降级模式结果作为辅助判断而非最终结论。

使用场景

  • 审查一次 `.py` 工具函数重构前,先确认哪些调用方会受影响。
  • 在合并请求前生成 `json` 影响结果,接入 CI 做变更范围检查。
  • 遇到 AI 编码工具上下文过长,用最小影响文件集合缩小分析范围。
  • 用 `dot` 格式导出调用关系,给团队讲解模块间依赖路径。

适合人员

  • 需要审查 Python、JavaScript 或 TypeScript 变更的工程师
  • 要在 CI 中自动判断合并请求影响面的平台维护者
  • 想用静态调用图缩小 AI 编码工具上下文的开发者
  • 负责代码审查流程和依赖风险排查的技术负责人