如何使用 Claude Code 生成更高质量的代码
本文的灵感来自 Boris Tane 关于他如何使用 Claude Code 的精彩文章。我从中获益良多,非常感谢作者的无私分享。
我曾经也陷入"提示词-计划-修复"的循环,但我发现对于复杂任务,结果很快就变成一团糟。除了简单脚本之外,这种方式根本无法胜任。
这个技能强制执行一套严格的流程,将思考与编码分离
如果你想生成更高质量、更符合目标的代码,你应该使用这个技能。
接下来,让我们看看它在实际场景中的表现。以下是测试结果及其分析。
实验
在同一代码库上运行了三个任务,对比使用技能和不使用技能的效果。
- 实验 1:添加全面的错误处理(跨模块,涉及 5+ 个文件)
- 实验 2:为耗时操作添加缓存(中等复杂度,涉及 2 个文件)
- 实验 3:修复不稳定的测试(调试类,涉及 1-2 个文件)
代码质量
| 指标 | 实验 1 | 实验 2 | 实验 3 | |
|---|---|---|---|---|
| 读写比 | 使用 | 7.0 | 4.3 | 4.5 |
| 未使用 | 1.0 | 1.4 | 3.5 | |
| 探索广度 | 使用 | 14 | 13 | 9 |
| 未使用 | 13 | 5 | 6 | |
| 回退次数 | 使用 | 0 | 0 | 0 |
| 未使用 | 0 | 0 | 0 | |
| 断言通过 | 使用 | 5/5 | 5/5 | 5/5 |
读写比是指 Agent 读取的文件数量与修改的文件数量之比。可以理解为"在动手写代码之前做了多少功课"。使用技能时,比率稳定在 4-7 倍——它在修改任何内容之前都会大量阅读。而不使用技能时,实验 1 的比率降到了 1:1,意味着 Agent 一边读文件一边就开始修改了。这就好比还没理解系统就开始写代码。
探索广度统计的是在写入任何代码之前发生了多少次 Read/Glob/Grep 调用。看实验 2——使用技能的 Agent 进行了 13 次探索调用,而未使用技能的 Agent 只进行了 5 次。这意味着未使用技能的 Agent 跳过了检查代码库中是否已存在缓存模式。它运气好,确实没有现成的缓存,但它从未真正验证过这一点。
回退次数统计 Agent 需要撤销自身工作的次数。全部为零——使用技能后每次都能一次做对。
断言通过是针对特定任务的质量检查,例如"是否在规划之前进行了调研?"以及"是否基于现有模式构建而非重复造轮子?"15 项中 15 项全部通过。
使用方法
安装
项目作用域(仅在当前项目中可用):
# 克隆仓库到临时位置
git clone https://github.com/meatballg1210/tane-flow.git
# 在你的项目中创建技能目录
mkdir -p .claude/skills
# 移动到技能文件夹
mv tane-flow .claude/skills/
全局作用域(在你所有的项目中可用):
# 克隆仓库到临时位置
git clone https://github.com/meatballg1210/tane-flow.git
# 创建全局技能目录
mkdir -p ~/.claude/skills
# 移动到全局技能文件夹
mv tane-flow ~/.claude/skills/
就这样。Claude Code 会自动从 .claude/skills/(项目)或 ~/.claude/skills/(全局)目录加载技能。
如何使用
当你要求进行多文件修改、架构重构、新功能开发、性能优化,或任何可能与现有代码模式冲突的操作时,该技能会自动触发。只需正常描述你的任务即可:
添加缓存以提升性能
你也可以通过 /tane-flow 显式触发:
/tane-flow 重构错误处理系统
无论哪种方式,技能都会引导你逐步完成每个阶段——调研、规划、标注、待办、实现、反馈。它会在每个关卡停下来等待你的审核,然后再继续。跟着提示操作即可。