SuperAPI AI 工具集

hotspot-audit

编程与开发

查看项目

更新于 10-15 23:42

技能介绍

用途:冲突集中在改动集中的地方。该技能找出吸引每个功能反复编辑的文件,并将其拆分,使未来工作落到不同文件中。它是 one-feature-one-file 的追溯性补充,后者用于防止新热点形成。

测量:按最近窗口内触及文件的提交数排序: git log --since="3 months ago" --name-only --pretty=format: | grep -v '^$' | sort | uniq -c | sort -rn | head -25 再结合 wc -l 交叉比对。需要处理的文件在两项上都得分高:改动频率乘以体积是一个不错的单一排名。仓库较大时,小脚本比肉眼判断更可靠。

拆分前诊断:并非每个热点文件都是问题。将候选文件归入三类:Hub,被互不相关的功能触及,查看最近十次提交,若除文件外无共同点,则拆分;Hot concern,因该区域处于活跃开发而频繁改动,属于真实工作而非结构问题,保持不动;生成或锁文件,高改动是固有的,不适用拆分,用 mergeable-edits 技能处理(重新生成,绝不手工解决)。文档(AGENTS.md、README、设计文档)通常是最大的热点,由 doc-gardening 技能单独处理。

拆分:一个文件对应一个关注点。若仓库已有按关注点拆分的目录结构,沿用该形态,一致性比特定布局更重要。拆分是纯移动:不改变行为、不重命名符号、不做顺手清理。差异应可被审阅为“代码移动,别无其他”。运行格式化工具和完整测试套件,行为必须一致。更新所有指向旧布局的内容:文档、架构图、脚本和 CI 中的路径。

时机:大型移动提交会与所有在途分支冲突,因此拆分是一次性冲突高峰,换取永久更低的冲突率。在团队空闲时落地,或落地后立即对在途分支变基。不要在同一文件上把拆分与功能工作交错进行。注意新文件上的普通 git log 从移动开始;git log --follow 可恢复先前历史。

节奏:在团队工作数周后重新运行测量。只要结构仍将不相关的增长汇聚到一个文件,新热点就会形成。