code-groom

摘要:code-groom 是一个专注于代码结构梳理而非风格美化的工具。它通过五条判断原则(单一数据源、单层抽象、封装、消冗余、状态找主人)和七条操作规则(谁产生谁持有、死代码清除等),提供语言无关的代码结构自查框架,帮助开发者识别冗余中间层、状态分散、函数职责过多等底层问题,最终实现只改内部组织而不改变外部行为的代码优化。

代码组织梳理,不是风格美化。

大多数代码审查工具关注命名、格式和 lint 规则。code-groom 关注更底层的问题:冗余的中间层、散落在调用方身上的状态、一个函数干了好几层的事。它提供五条判断原则(改不改)加七条操作规则(怎么改),是一套语言无关的代码结构自查框架。

当你觉得代码"臃肿但说不上哪不对"时,用它过一遍。


安装

方式一:通过 AI 安装(推荐)

将以下提示词发送给你的 AI Agent:

请根据 https://skillhub.cn/install/skillhub.md,安装 code-groom。

方式二:Git 克隆

git clone https://gitee.com/code-ape-hc/code-groom.git

然后将 code-groom 目录放入你的 Agent 的 skills 目录:

  • WorkBuddy: ~/.workbuddy/skills/code-groom/
  • Claude Code: ~/.claude/skills/code-groom/
  • 其他支持 SkillHub 的客户端: 见各自文档

安装后,对 Agent 说"梳理代码"或"groom"即可触发。

核心方法

五原则(判断力 — 改不改)

原则 一句话
单一数据源 同一份值有没有在多处重复定义?→ 收归一处
单层抽象 一个函数做了超过一层的事?→ 拆成编排层 + 细节函数
封装 外部能改这个模块的内部字段吗?→ 加只读或私有
消冗余 方法体只有一行调另一个方法?→ 内联,删方法
状态找主人 内部状态散落在调用方身上?→ 抽成类,构造/dispose 收口

七规则(操作手法 — 怎么改)

规则 自查动作
R1 谁产生谁持有 变量产生端自持,不让外部传回来
R2 死代码清除 搜索引用数:0 删,1 考虑内联
R3 纯转发删除 方法体一行调同名方法 → 删
R4 出口收进消费端 仅内部用的公开接口 → 不公开
R5 动态适配用接口 不同场景不同行为 → 接口注入,不写死实现
R6 小文件合并 同职责 < 50 行 → 合
R7 重复模式抽方法 同一结构 ≥ 2 次 → 抽

执行流程

  1. 扫描影响范围 — 谁持有谁调用、谁监听谁发射、类型定义在哪
  2. 过五原则 — 逐条问"我这个改动违反吗?"
  3. 过七规则 — 具体动手时逐条执行
  4. 自验 — 编译检查 + 竞态复核

约束

  • 行为零变化:只改内部组织,不改外部行为
  • 不过度抽象:拆出来 3 行且只被一处调用 → 不拆
  • 不扩大范围:只改命中的点,跨模块只记录不改

与其他工具的区别

code-groom linter 重构工具
关注点 结构骨架(抽象层级、状态归属) 格式风格(缩进、命名) 行为变更(拆分模块、换算法)
语言绑定 特定语言 特定语言
输出 改动清单 + 原因 错误列表 新代码
Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐