编程

分析代码

试用

快速分析方法流程、数据库表名及服务调用引用关系

它能做什么

分析用户指定的普通方法、HTTP 接口方法或 RPC 方法,说明用途与流程、涉及的数据库表及引用它的服务。默认使用当前仓库范围的快速模式;用户明确要求标准模式时才展开下游链路和跨服务搜索。

技能文档

分析代码

根据代码证据只读分析用户指定的方法,不修改业务代码。

模式选择

快速模式(默认)

用户未指定模式时使用快速模式,以尽快回答三个核心问题:方法做什么、涉及哪些数据库表、当前仓库中谁引用它。

  • 搜索范围限于目标方法所属 Git 仓库,不扫描工作区的其他同级服务仓库。
  • 阅读目标方法及其直接关键调用,追踪到业务动作、DAO/Mapper 或外部系统边界即停止。
  • 为确认表名,可以继续读取实际调用的 DAO/Mapper、MyBatis XML、ORM 实体映射或原生 SQL;得到表名后停止,不检查字段清单、数据源配置或未调用的 Mapper 方法。
  • 只查当前仓库内的直接调用方、HTTP 路由或 RPC consumer,不展开测试代码、环境配置、附件存储、令牌实现和异常一致性,除非它们直接决定方法用途或表名。
  • 输出保持简短,每部分只保留结论和必要代码位置。

标准模式

仅当用户明确说“标准模式”“完整分析”“查询所有服务引用”或同等含义时使用。

  • 沿关键调用链继续分析主要分支、异步行为、事务和外部系统副作用。
  • 在当前工作区的服务仓库中检索跨服务 HTTP、RPC、SDK 或直接依赖调用。
  • 核对动态 SQL、环境配置或外部实现,仅限于确认主流程、表名和真实引用关系所需的内容。
  • 数据库部分仍只输出表名,不展开字段、用途、数据源连接和冗长证据链。

定位入口

  1. 将用户给出的路径解析为具体文件、类和方法。路径只有文件名或方法名时,使用 rg --filesrg 补全位置;存在重载时结合参数类型、调用点或行号区分。
  2. 判断入口类型:
    • 普通方法:从直接调用者与被调用方法双向追踪。
    • HTTP 方法:记录路由和请求方式,并追踪到核心业务方法;快速模式只查当前仓库客户端,标准模式再查其他服务。
    • RPC 方法:定位接口与实现;快速模式只查当前仓库 consumer,标准模式再查其他服务。
  3. 若目标不存在或仍有多个无法区分的候选,列出已发现的候选和缺少的信息,不猜测目标。

追踪执行流程

阅读目标方法完整实现,并按当前模式控制追踪深度。避免为了补充非核心细节读取大段无关实现。

  • 快速模式只覆盖主流程、决定性校验和主要副作用。
  • 标准模式再覆盖关键分支、状态变化、事务、异步行为和异常处理。
  • 工具方法默认概括,避免逐行复述。
  • 区分目标方法直接行为与下游间接行为,并标出无法静态确认的反射、动态路由、消息消费或运行时绑定。

识别数据库表

沿调用链检查 Repository/DAO/Mapper、MyBatis XML 或注解 SQL、JPA 实体映射、ORM 查询构造器及原生 SQL。

  • 可以按 查询新增更新删除 分组列出表名,同一表去重。
  • 只输出表名;不输出字段、用途、数据源配置或完整证据链。
  • 仅看到实体类或 Mapper 声明但调用链未触及时,不计入确定涉及的表。
  • 动态表名、存储过程、外部服务内部表或缺失依赖无法确认时,明确写“无法从当前代码确认”,不要根据命名臆测。

识别服务引用

先确定目标方法所属服务,再按模式搜索真实调用证据。

  • 快速模式:只搜索目标 Git 仓库,列出直接调用它的模块或入口。
  • 标准模式:再搜索工作区其他服务中的 HTTP client、Feign、SDK、RPC consumer、代理注入和相关配置。
  • 仅有 HTTP 路由暴露不能证明某服务正在引用;RPC 实现自身也不算引用方。
  • 区分 已确认引用可能引用未发现引用。每个已确认引用方给出服务名、调用位置和简短调用链。
  • 明确写出搜索范围;无法从代码仓确认线上动态调用方。

优先使用代码索引或调用图(若当前环境已有),并用 rg 核对关键结论。不要仅凭同名方法判定调用关系;结合类型、导入、依赖、参数和接口绑定消除歧义。

输出格式

使用中文,先给结论,再给证据。保持以下三部分:

1. 方法用途与流程

说明入口类型、所属服务、用途,并用有序步骤描述主流程和关键分支。必要时附关键调用链。

2. 数据库表

只列出表名;必要时用查询、新增、更新、删除作为分组标题,不增加其他列。没有数据库访问时明确写“未发现数据库读写”。

3. 服务引用

快速模式使用简短列表或表格列出 引用模块/入口 | 引用方式 | 调用位置;标准模式可增加调用链和置信度。最后说明搜索范围。

引用关键代码时提供可点击的绝对文件路径和起始行号。事实与推断分开陈述;没有证据时明确说明未发现。快速模式不要为了增加解释长度继续搜索。

相关技能

面向团队与企业的高级结构化分析工具,在免费版基础上扩展批量分析、协作评审、自定义框架等能力。核心能力: - 多领域深度分析(代码、数据、文本、决策、可视化、架构) - 批量文件分析与聚合报告生成 - 团队协作评审与多视角交叉验证 - 自定义分析框架与模板管理 - 历史分析存档与趋势追踪 适用场景: - 企业代码库...

|-. 当需要code analyze tool相关能力的开发场景,提供完整工作流程和配置指南. 该工具经过差异化增强,结合实际使用痛点进行了优化。Use。适用于独立开发者、企业团队和自动化工作流场景,提供结构化输出与错误处理机制,支持中文交互,即开即用。Use when 需要代码生成、编程辅助、调试测试、开发部署时使用。不适用于无明确技术栈的模糊需求。

结构化分析任意输入,支持数据、代码、文本、决策的优先级排序与结论推导。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 次安装

从用户指定的 Java 方法向上追溯调用方,生成调用图直到 HTTP 接口或 RPC 方法等入口尽头。搜索范围限于当前 Git 仓库,不跨服务。Use when the user asks for caller graph, upstream call chain, who calls this method, 代码引用, 引用方, 调用图, or 向上追溯.

对任意输入做结构化分析,数据/代码/文本/决策/可视化。Structured analysis for any input。Data, code,。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时流数据处理。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。 text, decisions, visuals。Prioritize, question,。Use when 需要数据分析、报表生成、统计洞察、数据可视化时使用。不适用于实时数据流处理。

分析源代码逻辑,生成 Mermaid 流程图或 SVG 架构图并渲染为 PNG 图片。官方 mermaid 渲染(与 Markdown 预览一致),支持 16 种主题、5 种视觉风格、语义图形体系和 40+ 产品图标。

24 次安装1 星标