终极氛围编码指南

我已经使用 Cursor 超过 6 个月了,我发现如果正确且深思熟虑地使用它,它是一个非常有帮助且强大的工具。在这 6 个月中,通过许多有趣的个人项目和一些生产级项目,以及超过 2500 多个提示,我学到了许多技巧和窍门,这些技巧使开发过程变得更加轻松和快速,帮助你在代码库变大时也能保持良好的氛围,减少痛苦。我想为任何新手制作一份指南,将所有内容集中在一篇文章中,方便在需要指导时随时参考!

1. 明确定义你的愿景#

从一个清晰、详细的愿景开始,明确你想构建什么以及它应该如何工作。如果你的输入模糊或混乱,输出也会如此。记住:垃圾输入,垃圾输出。花时间从产品和用户角度思考你的想法。使用像 Google AI Studio 中的 Gemini 2.5 Pro 这样的工具来帮助你整理思路,概述产品目标,并规划如何实现你的愿景。计划越清晰,执行越顺畅。

2. 优先规划 UI/UX#

在开始构建之前,花时间仔细规划你的用户界面(UI)。使用像 v0 这样的工具帮助你早期可视化和试验布局。一致性是关键。提前决定你的设计系统并坚持使用。从一开始就创建可复用的组件,如按钮、加载指示器和其他常见的 UI 元素。这将为你节省大量时间和精力。你还可以使用 **https://21st.dev/**,它有大量的组件及其 AI 提示,你只需复制粘贴提示,非常棒!

3. 掌握 Git 和 GitHub#

Git 是你最好的朋友。你必须了解 GitHub 和 Git;如果 AI 搞砸了东西,它能救你一命,你可以轻松回到旧版本。如果不使用 Git,你的代码库可能会因一些错误更改而被毁。你必须使用它,它使一切变得更简单和有条理。在完成一个大功能后,务必提交你的代码。相信我,这将为你避免未来很多灾难!

4. 选择流行的技术栈#

坚持使用广泛使用、文档齐全的技术。AI 模型是基于公开数据训练的。技术栈越常见,AI 就能帮你写出更高质量的代码。 我个人推荐:

  • Next.js(用于前端和 API)+ Supabase(用于数据库和身份验证)+ Tailwind CSS(用于样式)+ Vercel(用于托管)。 这个组合对初学者友好,开发速度快,并且去除了许多样板代码和手动设置。

5. 利用 Cursor Rules#

Cursor Rules 是你的朋友。我仍在使用它,我认为它仍然是开始坚实基础的最佳解决方案。你必须有非常好的 Cursor Rules,包含你使用的所有技术栈、对 AI 模型的说明、最佳实践、模式和一些需要避免的事项。你可以在 **https://cursor.directory/** 找到很多模板!!

6. 维护一个说明文件夹#

始终有一个说明文件夹。它应该包含 markdown 文件,里面装满了文档示例组件,以便更好地指导 AI 或使用(或 context7 mcp,它有大量文档)。

7. 编写详细的提示#

现在进入构建阶段。你打开 Cursor 并开始给出提示。再次强调,垃圾输入,垃圾输出。你必须给出非常好的提示。如果你不会,可以用 Google AI Studio 上的 Gemini 2.5 Pro 进行规划;让它为你制作一个非常详细的提示版本。提示应尽可能详细;不要留给 AI 猜测的空间,你必须告诉它一切。

8. 拆解复杂功能#

不要给出巨大的提示,比如“为我构建整个功能”。AI 会开始胡言乱语并产生垃圾代码。你必须将任何想要添加的功能拆分成阶段,尤其是在构建复杂功能时。不要用一个巨大的提示,而应将其拆分成 3-5 个请求,甚至根据你的用例拆分成更多。

9. 明智地管理聊天上下文#

当聊天内容变得很长时,就开一个新的聊天窗口。相信我,这是最好的。AI 的上下文窗口是有限的;如果聊天内容过长,它会忘记早期的内容,忘记任何模式、设计,并开始产生糟糕的输出。这时只需开始一个新的聊天窗口。然后,在新窗口中,向 AI 简要描述你正在处理的功能,并提及你正在处理的文件。上下文非常重要(接下来会详细说明)!

10. 不要犹豫重启/优化提示#

当 AI 出错并走向错误的方向,或添加你不想要的东西时,返回、更改提示并重新发送给 AI 会比继续在垃圾代码上工作要好得多,因为 AI 会试图挽救它的错误,并可能会引入新的错误。所以只需返回,优化提示,然后重新发送!

11. 提供精确的上下文#

提供正确的上下文是最重要的事情,尤其是在代码库变大时。提及你知道会发生更改的正确文件,将为你和 AI 节省大量请求和时间。但你必须确保这些文件是相关的,因为过多的上下文也会让 AI 感到不知所措。你必须始终确保提到正确的组件,为 AI 提供所需的上下文。

12. 利用现有组件保持一致性#

一个好技巧是,在构建新组件时,可以向 AI 提及之前制作的组件。AI 会快速掌握你的模式,并在新组件中毫不费力地使用相同的模式!

13. 与 AI 迭代审查代码#

在构建每个功能后,你可以复制整个功能的代码,粘贴到 Google AI Studio 的 Gemini 2.5 Pro 中,检查是否存在安全漏洞或不良编码模式;它的上下文窗口很大。因此,它确实能提供非常好的见解,然后你可以将这些见解输入到 Cursor 中的 Claude,告诉它修复这些缺陷。(告诉 Gemini 扮演安全专家的角色,发现任何缺陷。在另一个聊天中,告诉它你是技术栈专家,询问是否存在性能问题或不良编码模式)。是的,它非常擅长发现这些问题!从 Gemini 获取见解后,只需将其复制粘贴到 Claude 中修复,然后再次发送给 Gemini,直到它告诉你一切都 100% 没问题。

14. 优先考虑安全最佳实践#

关于安全,因为它会引发很多负面反应,以下是你必须遵循的安全模式,以确保你的网站良好且没有非常严重的安全漏洞(尽管不会 100% 完美,因为任何人的任何网站都会有漏洞!):

  • 信任客户端数据:直接使用表单/URL 输入。
  • 前端中的秘密:在 React/Next.js 客户端代码中放置 API 密钥/凭据。
  • 弱授权:仅检查是否登录,而不检查是否允许做/看到某些事情。
  • 泄露错误:向用户显示详细的堆栈跟踪/数据库错误。
  • 无所有权检查(IDOR):让用户 X 通过可预测的 ID 访问/编辑用户 Y 的数据。
  • 忽略数据库级安全:绕过数据库功能,如 RLS,用于细粒度访问。
  • 未受保护的 API 和敏感数据:缺少速率限制;敏感数据未加密。

15. 有效处理错误#

当你遇到错误时,有两个选择:

  • 要么返回并让 AI 重新做你要求的事情,是的,这有时确实有效。
  • 如果你想继续,只需从控制台复制粘贴错误并告诉 AI 解决它。但如果超过三个请求仍未解决,最好的办法是再次返回,调整你的提示,并提供正确的上下文。正如我之前所说,正确的提示和正确的上下文可以节省大量精力和请求。

16. 系统化调试顽固错误#

如果有一个错误,AI 花了很多时间仍未解决,并且开始陷入兔子洞(通常在 3 个请求后仍未解决),只需告诉 Claude 概览错误来源的组件,并列出它认为导致错误的主要嫌疑对象。还告诉它添加日志,然后再次提供日志输出。这将显著帮助它找到问题,而且大多数情况下都能正确解决!

17. 明确要求:防止 AI 擅自更改#

Claude 有个特点,会添加、删除或修改你未要求的东西。我们都讨厌这一点,这很糟糕。在每个提示下加一句简单的话,比如“不要擅自更改我未要求的东西,只做我告诉你的事情”,效果非常好!

18. 保留一个“常见 AI 错误”文件#

始终保留一个记录 Claude 经常犯的错误的文件。将所有错误添加到该文件中,并在添加任何新功能时提及该文件。这将防止它犯下令人沮丧的重复错误,也避免你重复自己!

我知道这听起来不再像“氛围编码”,也不像其他人描述的那样简单,但这实际上是你需要做的,以便完成一个对大量用户有用且可用的好项目。这些是我在使用 Cursor 超过 6 个月并构建一些项目后学到的最重要技巧!希望你觉得有用,如果有其他问题,我很乐意帮忙! 另外,如果你读到这里,你是一个传奇,对此非常认真,所以恭喜你,兄弟!

快乐氛围编码!