代码分支比较
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9b4e1ec4/hfcode-review。
技能介绍
要解决什么问题
支付核心(indus / 汇付天下)的分支合并前,如果只看 GitHub/GitLab 的 diff 列表,很容易漏掉 流水键混用、trans_stat 非法跳转、1:N join 把金额 sum 翻倍 这类在片段里不明显、但上线后会直接变成资金或账务事故的问题。本技能把「开发分支相对 main 的新增改动」固定成可重复的评审流程,而不是泛泛的 code style 检查。
技能如何工作
输入侧约定三件事:仓库路径(非 git 目录必须先问用户,再用 git -C)、基线分支(自动探测 main/master)、开发分支(默认当前 HEAD)。diff 使用三点语法 ...,只看 dev 自 merge-base 起的领先提交,不把 main 上多出来的提交算进评审范围。
执行上按文件/模块分组读 diff,每条疑似问题要求 回到源码(完整方法、调用方、被调方)再下结论。输出默认是聊天内的 Markdown 评审报告:每个问题带 file:line、现象、风险与建议,并按 Blocker / Major / Minor / Nit 分级。
indus 专项清单覆盖例如:pay_log 必须用 sysseqid + sys_date 定位、状态机 I→P→S/F/C、幂等 UPDATE 守卫、BigDecimal 金额、MyBatis/SQL 索引与 join 陷阱、FPC 超时不得当成功、payNNN 接口契约与敏感字段掩码/日志等。通用项则覆盖注入、事务边界(不含远程 RPC)、并发与资源释放等。
适用边界
- 只 评审、不擅自改代码,除非用户明确要求代为修复。
- 改动文件过多(例如 >30)时会按模块分批,纯注释/导入类改动可说明跳过。
- 面向 indus 域模型与链路;其它仓库可借用通用清单,但专项项需自行对照业务。
使用场景
- indus 功能分支合并 main 前,要对 dev 相对 merge-base 的 diff 做 pay_log 键与 trans_stat 专项检查
- 本次改动涉及代扣/退款/异步 MQ 与金额汇总 SQL,需在合并前按清单核对幂等与 join 求和是否翻倍
- 工作目录是 d:\indus 快照而非 git 根目录,先确认 checkout 路径再对指定开发分支做领先改动评审
- diff 文件超过三十个,按 core-ser/finance-api 等模块分组,优先审写入流水、接口契约与敏感日志
适合人员
- 负责 indus 支付链路的后端,合并分支前想对照流水键、状态机与幂等守卫找 Blocker
- 担任支付核心版本 Owner,在发版前对开发分支 diff 做资金与契约类风险分级评审
- 维护 MyBatis/SQL 与异步回调的同学,改动涉及 pay_detail join 或商户回调时需要结构化核对清单
- 新接手汇付 indus 代码库的研发,希望用固定输出格式(file:line + 严重程度)写合并前评审记录