一句话结论
补全交给 Cursor,改 bug 用 Claude Code,读陌生项目让 Claude Code 先出结构图。
这篇解决什么问题
不少研发装了两三个编码助手,补全、改 bug、读项目却全用同一个,用着别扭还以为是工具不行。这篇按三类活拆开讲,哪类配哪个工具、为什么、什么时候该换。适用已经有一两个助手、想把搭配固定下来的研发;不适用还没跑通过业务项目的人。
开始前要准备什么
- Cursor,免费额度够试补全,重度使用需付费
- Copilot,多数个人账号有免费档,日常问答够用
- Claude Code,需装命令行并绑定账号,按用量计费
- 一段记录:最近两周的提交、报错和随手备注
- 一个能跑起来的真实项目,别拿脚手架 demo 试
- 时间:三类各走一遍,通常 40 分钟以内
具体怎么做
第 1 步 · 把两周的活分成三类
先别挑工具,先看自己到底干了什么。翻一遍最近的提交记录和 issue,按”缺什么”归类:缺打字量的算补全,有报错线索的算改 bug,没有报错但看不懂的算读项目。
我在做一次编码助手选型。下面是我最近两周真实做过的 8 类开发任务,请按”任务特征”把它们归到三类里:纯补全、定位并修 bug、读懂陌生代码。
归类标准:
– 补全:我知道大概要写什么,缺的是打字速度和样板代码
– 改 bug:有明确报错、日志或错误行为,缺的是定位
– 读项目:没有报错,只是我不懂这块代码怎么跑起来的
我的任务清单:
1. 给 user 表加一个新字段并生成 DTO
2. 线上报 NullPointerException,堆栈指向 OrderService.java 第 142 行
3. 接手一个三年没人维护的结算模块
4. 把一个两百行的 if-else 改写成策略模式
5. 单元测试跑不过,断言里的金额差了 0.01
6. 想知道登录 token 是在哪一层被刷新的
7. 写一个 CSV 导出的小工具方法
8. 接口偶发 504,日志里没有明显线索
输出格式:一张表格,三列——类别、任务编号、判断依据。判断依据写一句话,不要展开。
预期产出:一份三分类清单,每条任务后面标着”缺打字/缺定位/缺地图”。分完之后,每类只认一个工具。
第 2 步 · 补全场景:让 Cursor 贴着你写
补全好不好用,关键不在模型多聪明,在它知不知道你这个文件的写法。在 Cursor 里打开一个业务文件,停手几秒看灰色建议,接受几次它就会跟着这个文件的风格走。
你是我在 Cursor 里的补全助手。当前文件是 src/main/java/com/demo/order/OrderService.java(化名项目),我要新增一个”按订单号查询并返回 DTO”的方法。
请按下面的要求给我一段可直接粘贴的代码:
– 方法名沿用本文件已有的命名风格,不要另起一套
– 入参只有订单号,出参是 OrderDTO
– 查不到时返回 null,不抛异常,也不打印日志
– 数据访问沿用本文件里已经注入的 repository,不要新引入依赖
– 不要写注释,行宽跟本文件保持一致
先只给方法体,不要解释。我确认之后,你再补对应的单元测试。
预期产出:一段能直接粘进文件的方法体。给得不对就撤掉重写,别在编辑器里跟它来回改,越改越乱。
第 3 步 · 改 bug 场景:先要假设,再要补丁
改 bug 最怕它上来就甩一段改好的代码,你也不知道对不对。换成能读整个仓库的工具,让它先读文件、列假设,你验证完再放它动手。
我在用 Claude Code 排查一个 bug,项目根目录是 /work/demo-order(化名)。
现象:调用 /api/order/detail 时,部分订单返回 500,日志里只有一行 NullPointerException,堆栈指向 OrderService.java 第 142 行。
请按这个顺序做,每一步先告诉我你读了哪些文件:
1. 读 OrderService.java 第 100 到 160 行,说明第 142 行在做什么
2. 顺着这一行往上找,列出可能为 null 的变量有几个
3. 读对应的 repository 和 DTO 转换代码,排除掉不可能为 null 的
4. 给我三个按可能性排序的假设,每个假设配一句怎么验证
不要直接改代码,先给结论。等我说”开始改”,再动手。
预期产出:三个按可能性排序的假设,每个带一句验证方法。从第一个开始验,命中就停。
第 4 步 · 读项目场景:先要地图,再动代码
接手陌生模块,别一上来就问”这段代码干嘛的”。先要整体地图:入口、分层、数据流、约定。我习惯让它每条结论都标文件路径,方便自己翻过去核对。
项目根目录 /work/demo-order(化名),是一个 Java 服务。我第一次接手,请在不动任何代码的前提下,给我一份”项目地图”。
需要包含:
1. 入口在哪:从启动类到 controller 的调用链,写成 5 行以内
2. 分层怎么分:每层放什么,举一个真实文件路径当例子
3. 数据流:一个请求从进来写到数据库,中间经过哪几个类
4. 三个”新人最容易踩的约定”,比如命名、异常处理、事务边界
5. 如果我要改”订单金额计算”,应该动哪几个文件
输出用 Markdown,每部分不超过 10 行,每个结论后面用括号标出你依据的文件路径。读完先别动手改代码。
预期产出:一份十行左右的项目地图,含调用链、分层说明和一串文件路径。挑三个关键路径自己翻一遍,心里就有底了。
第 5 步 · 把结论落成一张场景对照表
工具用顺手了容易忘,把结论写成一张表放在团队文档里。表里别只写”用哪个”,一定留一列写”什么时候不该用它”。
下面是我这两周用 Cursor、Claude Code、Copilot 处理三类任务的随手记录。请整理成一张场景对照表。
表格四列:任务类型 / 我实际用的工具 / 为什么用它 / 什么时候不该用它。
记录:
– 补全:给 OrderService 加一个查询方法,Cursor 开着补全写样板代码,大概几分钟
– 补全:改一个三十行的工具类,Copilot 在 IDE 里直接给建议,没换工具
– 改 bug:空指针定位,Claude Code 读了三个文件给出假设,来回两轮,十几分钟
– 改 bug:单测金额差 0.01,在 Copilot 聊天窗口问的,它看不到整个仓库,问了三次才定位到
– 读项目:接手结算模块,Claude Code 先生成结构地图,再自己翻代码核对,半小时左右
– 读项目:只想搞清楚一个接口的调用链,在 Cursor 里引用三个文件问的,更快
要求:耗时写区间,比如”几分钟到十几分钟”,不要写精确数字;”什么时候不该用它”这一列每条都要填反例。
预期产出:一张四列对照表,含任务类型、工具、理由和反例。下次接到活,先对号入座再动手。
实测记录
| 环节 | 实测情况 |
|---|---|
| 任务分类 | 手头 8 个任务归到三类,约 5 分钟 |
| 补全 | Cursor 写样板代码省一半时间,改命名风格要来回几次 |
| 改 bug | Claude Code 定位空指针,两轮对话十几分钟 |
| 读项目 | 结构地图半小时内出初稿,自己核对再花十几分钟 |
| 返工 | 在聊天窗口让 Copilot 找跨文件 bug,三轮没结果,换工具重做 |
最容易错的 3 个地方
- 拿只补全不读仓库的工具改跨文件 bug,直接换成能读仓库的
- 让 AI 上来就改代码,先要假设和验证方式,确认完再放它动手
- 把生成的结构图当结论,至少自己翻三个关键文件核对
可复用的东西
上面五段提示词可以收成一份固定模板:任务分类清单、补全约束、bug 三步排查、项目地图、对照表整理。用的时候只换任务清单和文件路径,其余照抄。
工具会换,思路不太会换:先分清是缺打字、缺定位还是缺地图,再决定开哪个窗口。你现在手头这件活,属于哪一类?
常见问题解答
这套选型流程走一遍要多久?
手头有真实项目的话,三类任务各试一遍通常一个下午就够;之后每天只是按类挑工具,几分钟的事。
只装一个编码助手够用吗?
只做补全和日常问答,一个就够。要定位跨文件的 bug、或读懂陌生模块,得选能看到整个仓库的那种。
Claude Code 和 Copilot 在改 bug 上差别大吗?
差别主要在视野。只在聊天窗口里贴几行代码,模型看不到调用方和配置,跨文件的问题常常定位不到。
读项目一定要用命令行工具吗?
不一定,但得能把多个文件一起交给模型。只贴单个文件问"这个项目干嘛的",答案通常没什么用。
团队里要不要统一工具?
建议统一到"每类任务一个默认工具",而不是统一到一个工具。前者新人上手快,后者总有人用得别扭。
本网站的部分内容可能来源于网络或用户投稿,仅供大家学习与参考,如有侵权,请联系客服: hhxmw778 进行删除处理。
本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
教程如引导您添加微信或有另外收费服务,请自行甄别!
如遇充值环节或绑定支付账户或输入支付密码之类的异常步骤,建议停止操作!本站不对操作项目的损失负责!
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现任何资源有问题请向站长举报下架
(手机微信用户建议用默认浏览器打开,可体验完整功能)