用 Cursor 写了三个月代码,说点实话
AI 编程助手不是银弹,但用对了确实能提速。分享我在 Cursor 上的真实使用经验:哪些场景真的好用、哪些时候是在帮倒忙、prompt 怎么写才有用。
先说结论
Cursor 值得用,但别把它当「自动写代码机器人」。它是个很强的中级程序员搭档——能帮你写样板代码、解释复杂逻辑、重构函数——但你得知道自己在干什么,否则它给你埋的坑比帮你省的工时多。
最适合 Cursor 的场景
1. 写样板代码 / CRUD
这是 Cursor 最强的场景,没有之一。你定义一个 Prisma schema,然后说「帮我生成对应的 REST API routes,包括 CRUD 和参数校验」,它能一次生成差不多能用的代码。10 秒内生成 80 分可用的代码,剩下的 20 分是改边界情况和加测试——这已经省了大量时间。
2. 解释你不熟悉的代码
接手了一个没人维护的老项目,满屏意大利面条式代码。选中一段,Cmd+L 问「这段在干什么,有没有明显的问题」。比自己一行行读快 5 倍,而且它会指出潜在 bug。
3. 重构
选中一段 100 行的函数,说「把这段拆成几个语义清晰的小函数,保持原有逻辑不变」。Cursor 做得相当好,比我自己小心翼翼地改更有信心。
Cursor 会坑你的场景
1. 复杂业务逻辑
业务逻辑越复杂,Cursor 越容易「自信地胡说八道」。它生成的代码看起来像那么回事,变量名都起得很合理,但核心逻辑可能是错的。
**血泪教训**:让 Cursor 帮我写一个基于时间窗口的限流中间件,它生成了一段看起来完全合理的代码,我 review 的时候也没发现问题。上线后发现限流完全没生效——它用的时间戳单位是秒,但我们的时间窗口是毫秒级的。
从此之后的规矩:**Cursor 生成的任何涉及业务逻辑的代码,必须人工走读一遍,最好再写个测试**。
2. 性能关键路径
Cursor 不在乎性能,它只在乎「能跑」。让它写一个处理大文件的脚本,它会用最简单直接的方式——比如把整个文件读进内存。
如果你没明确说「注意性能」,它不会主动优化。
3. 安全问题
Cursor 生成的代码经常有安全隐患:SQL 拼接、没做 input sanitization、JWT 验证漏了 edge case。**永远不要直接把 Cursor 生成的代码推到 main 分支**。
Prompt 技巧
核心原则:**给上下文、给约束条件、说清楚你想要什么**。
坏问题:「帮我写一个登录功能」
好问题:「用 NextAuth.js 实现邮箱+密码登录,密码用 bcrypt 加密,session 存在 Redis,给我完整的 route handler 和错误处理」
利用 @ 符号引用上下文——Cmd+L 打开聊天框之后,用 @ 引用文件、文档、甚至整个文件夹。这比把代码复制粘贴进聊天框强太多。
Tab 补全 vs Cmd+K vs Cmd+L
Tab 补全用熟了之后,写代码的感觉像是「和 AI pair programming」。比 Copilot 的补全准——可能是因为 Cursor 用了更大的上下文窗口。
模型选择
我现在默认用 Claude,只有在等得有点烦的时候才切换到 GPT-4o。
最后的建议
2. **每次生成代码都 review**,重点看边界情况和错误处理
3. **Tab 补全用起来**,这是最自然的 AI 辅助编程体验
4. **如果它连续两次没理解你的意思**,换个说法,或者干脆自己写
AI 编程助手不会改变「编程需要思考」这件事。但它会让思考之后的实现快很多。
*你们用 Cursor 或者其它 AI 编程助手有什么心得?评论区见。*
VkingAI