ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

我开源了一个 code-groom 代码组织梳理 skill

我开源了一个 code-groom 代码组织梳理 skill

code-groom

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

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

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

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


安装

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

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

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

方式二:Git 克隆

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