仅凭直觉编程:我用Vibe Coding构建全栈应用的经验分享

作者分享通过直觉编程方式构建全栈应用的经验,使用React、Node.js和MongoDB技术栈,结合AI工具实现快速开发,探讨直觉编程与传统开发方法的差异与价值。

构建全栈应用:仅凭直觉编程的实践与思考

你知道那种盯着屏幕思考"如果只凭直觉会怎样?“的时刻吗?这正是我所做的尝试。

我决定构建一个全栈应用,不使用严格的路线图,不预先决定技术栈,甚至没有Figma设计,完全通过直觉编程完成。我使用AI工具、直觉和多年的肌肉记忆来随性编码。没有正式规划,没有架构图,没有语法查询,只有提示、模式和纯粹的本能感觉。

剧透:这种方法基本可行。但在此过程中学到的经验永久改变了我对开发的看法。

什么是"直觉编程”?

明确一点:直觉编程不是懒惰或混乱。它是基于本能而非语法或结构进行编码的过程。

你不再思考use Effect依赖项应该是什么,而是开始思考为什么数据流感觉不对。你不会过度分析文件夹结构,只是感觉新的服务文件应该放在哪里。

这是经验支持的直觉。是信任由多年构建、破坏和修复事物所塑造的内在指南针。

就像爵士乐——即兴、流畅,但仍然基于节奏和理论。

使用直觉构建全栈应用

我的自我挑战是:构建一个全栈生产力跟踪器(类似Notion与Todoist的结合)——完全使用AI提示和直觉。没有教程,没有文档深入研究,没有样板克隆。只有纯粹的直觉驱动开发。

我的技术栈:

  • 前端:React + TailwindCSS
  • 后端:Node.js(Express)
  • 数据库:MongoDB
  • 认证:JWT + cookies
  • AI助手:ChatGPT + GitHub Copilot

我没有规划这些。我打开VS Code,感觉React是"正确的选择",然后就开始了。

第一阶段:前端直觉

我从UI开始,因为…这通常是直觉开始的地方。我想要一些简约、快速和直观的东西。所以我提示AI助手:

“使用Tailwind创建响应式React仪表板布局。保持简洁,带有左侧边栏和任务列表视图。”

AI输出了一个70%良好的布局——不完美,但足以激发动力。我没有调整每个像素,而是与之共鸣。

这时我意识到:从直觉开始的力量在于动力。你不会陷入决策瘫痪。你做出感觉正确的选择,快速迭代,稍后修正。

在前两个小时结束时,我有了一个看起来不错、移动友好且不需要打开任何Stack Overflow标签页的仪表板。

第二阶段:直觉后端

然后来到后端,我最喜欢的部分。通常,我会花一个小时规划路由、文件夹结构和数据模式。但这次没有。

我打开工作区,启动环境,并告诉AI:

“启动Node.js Express服务器,包含/tasks和/users路由。使用MongoDB存储。包含基于JWT的认证。”

砰:脚手架准备好了。我浏览了一下,清理了一些不一致之处,并将其连接到MongoDB。

这是直觉变得有趣的地方:AI生成的代码不完美,但很流畅。它遵循感觉正确的模式:RESTful路由、清晰的异步处理程序和明确的关注点分离。

我意识到我没有逐行阅读代码;我在感受它的结构。比如,“是的,这个函数不应该在这里"或"这个路由感觉臃肿”。我移动文件、重命名函数和重构逻辑;全都凭本能。

没有语法参考。没有lint工具对我大喊。只有纯粹的流畅。

第三阶段:连接前端和后端——真正的测试

如果你以前构建过全栈应用,你知道这是直觉可能消亡的时刻。CORS错误、端口不匹配、奇怪的JSON负载,常见的问题。

但不知何故,直觉支撑着我。

当我的第一个fetch调用失败时,我甚至没有立即检查控制台。我知道是端口不匹配。我用一行代码修复了它。当JWT令牌没有持久化时,我没有谷歌任何东西;我感觉是cookie标志问题。

这时我意识到一些深刻的东西:凭直觉编码并不意味着盲目编码。这意味着你的大脑正在潜意识地参考数百个过去的调试经验。你不是在猜测,你是在模式出现之前就识别它们。

在第二天结束时,前端和后端同步了。我可以创建用户、登录和添加任务,所有这些都只需最少的自觉语法努力。

第四阶段:AI驱动的流畅性

此时,我完全投入了AI辅助编码。我开始更自由地提示:

“添加一个实时过滤任务的搜索栏。” “使用Framer Motion使任务卡片可拖动。” “创建在localStorage中存储状态的暗模式切换。”

每个提示都给了我粗略的代码。我会稍微调整它,不是因为它是错的,而是因为我的直觉告诉我它可以更清晰。

这就是将AI与直觉配对的美丽之处:你成为代码库的创意总监。AI是你的初级开发人员,快速、字面化,但缺乏品味。你的直觉是增添工艺的地方。

当直觉背叛我时

并非一切顺利。

有一次,我决定通过缓存MongoDB查询来"凭直觉"优化。坏主意。我引入了一个微妙的错误,使任务显示过时数据。

这时我意识到:直觉编程不能替代测试。直觉只能带你走这么远;编译器仍然需要真理。我编写了单元测试,验证了API响应,并立即感觉到平衡恢复了。

直觉 + 验证 = 可持续开发。

开发人员心态转变

当我发布MVP时,我对编码的思考方式发生了某种变化:

  • 我不再沉迷于语法
  • 我相信大脑的模式库
  • 我意识到"感觉"只是经验抽象为直觉

凭直觉编码不是跳过纪律的借口;它是引导纪律的不同方式。你更少依赖刻意推理,更多依赖潜意识流畅性。

关键点是:当我一周后重新访问代码时,它出奇地干净。一致的命名、良好分离的关注点、最少的技术债务。过去的我做出了直观但聪明的架构决策。

经验教训:现实世界中的直觉编程

实验结束后,以下是我要告诉任何考虑将直觉编程作为严肃技术的开发人员的内容:

  • 让经验成为你的框架。你过去的代码库、错误和架构选择是你真正的文档
  • 精确提示。AI遵循你的语气;你的提示越自信和结构化,输出越好
  • 不要对抗流畅性。当你在状态中时,继续前进。不要为了完美而打破它。你可以稍后重构
  • 用逻辑验证。直觉不能替代测试。最好的开发人员将本能与验证相结合
  • 架构是感性的。当系统过于复杂或不平衡时,你可以感觉到——信任那种感觉

那么…这值得吗?

绝对值得。

通过直觉编程构建全栈应用提醒我为什么最初爱上编程。流畅的快乐。即兴的刺激。感觉你和机器在说同一种不言而喻的语言。

是的,有错误。是的,我必须重构。但我通过跟随本能快速发布了某些快速、干净和功能性的东西。

在一个AI接管语法和样板的世界中,我们作为开发人员的真正优势是直觉——将机器代码转化为人类创造的直觉。

最终想法

直觉编程不是编程的未来;它是精通的进化。一旦你完成了艰苦工作,学习了文档,并破坏了足够的构建,你就赢得了跟随流畅性的权利。

所以,继续前进;下次你卡住时,停止思考,开始感受。让直觉指导你的代码。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计