尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

新手最常见的 5 个 AI 编程误区:避免“复制粘贴就上线”

新手最常见的 5 个 AI 编程误区:避免“复制粘贴就上线” 文章目录误区一把 AI 生成的代码直接复制进项目更好的做法先理解再运行再合并误区二只说“帮我写代码”不给背景和限制更好的做法把需求说清楚误区三只测试正常情况不测试异常和边界更好的做法每次至少问 3 类情况误区四遇到报错只发一句“这是什么问题”更好的做法把报错现场交给 AI误区五让 AI 一次改太多代码自己却没有检查范围更好的做法一次只完成一个小目标把 5 个误区变成 5 个好习惯一份新手可直接使用的协作模板总结✍创作者全栈弄潮儿 个人主页全栈弄潮儿的个人主页️ 个人社区欢迎你的加入全栈开发社区 专栏地址欢迎订阅AI 编程提效实战前一篇我们聊过AI 写出的代码有时不能直接用。很多问题并不是 AI “不会写”而是我们在使用 AI 时很容易把它当成一个可以直接交付结果的工具。例如问一句需求 ↓ 复制一段代码 ↓ 没有运行、没有测试、没有理解 ↓ 直接提交或上线这条流程看起来很快实际却很容易带来报错、返工甚至安全问题。AI 编程真正能帮我们提高效率的前提是把 AI 当成助手而不是答案机器。今天我们就来盘点新手最常见的 5 个 AI 编程误区。每个误区后面都会给出一个更稳妥的做法。你不需要一下子掌握复杂的工程方法只要先避开这些坑就已经超过了很多“只会复制代码”的使用方式。误区一把 AI 生成的代码直接复制进项目这是最常见也是风险最高的误区。AI 给出一段代码后很多人会先看两件事代码看起来像不像能用。有没有报红。如果看起来没问题就直接复制到项目中。但“没有报红”不代表功能正确更不代表它适合当前项目。例如需求是“满 100 元减 10 元”AI 可能生成functioncalculateFinalPrice(price){returnprice*0.9;}这段代码可以运行但它实现的是“所有价格打九折”并不是“满 100 元减 10 元”。更大的问题是真实项目里还可能存在依赖版本不兼容。导入路径不正确。接口字段和项目实际字段不同。项目已有统一的错误处理方式。代码修改了不该修改的数据。更好的做法先理解再运行再合并拿到 AI 代码后先完成这三步1. 看懂它在做什么 2. 用测试数据在小范围运行 3. 确认符合需求和项目规范后再使用如果看不懂可以这样问 AI请逐行解释这段代码。 说明每个变量、函数和判断条件的作用。 再告诉我它有哪些前提条件、可能遗漏哪些情况。请记住AI 生成代码是起点不是交付终点。误区二只说“帮我写代码”不给背景和限制很多新手向 AI 提问时只有一句话帮我写一个登录功能。这句话太宽泛了。AI 不知道你使用什么语言和框架。登录方式是账号密码、短信验证码还是第三方登录。用户数据从哪里来。登录成功后要保存什么信息。失败时如何提示。当前项目已经有什么封装和规范。于是AI 只能根据常见项目做出猜测。猜测不一定错但很容易和你的项目不一致。更好的做法把需求说清楚不需要写很长的 Prompt只要补充几个关键信息就够了我在学习 Vue 3 JavaScript。 请帮我写一个简单的账号密码登录示例。 要求 1. 页面包含用户名和密码输入框。 2. 用户名和密码不能为空。 3. 点击登录后先用模拟接口返回成功或失败。 4. 不使用第三方 UI 组件库。 5. 请把代码拆成容易理解的步骤并说明如何运行。可以把一次清晰的提问拆成 4 个部分内容要回答的问题背景我在用什么技术栈当前代码在哪里目标我想实现什么功能限制有哪些规则、范围和不能做的事输出希望 AI 给代码、解释、步骤还是测试以后不要只问“怎么写”还要告诉 AI在什么情况下写写到什么程度怎样才算完成。误区三只测试正常情况不测试异常和边界假设 AI 帮你写了一个计算年龄是否成年的函数functionisAdult(age){returnage18;}你测试console.log(isAdult(20));// true结果正确于是你认为代码没有问题。但下面这些情况呢isAdult(18);isAdult(0);isAdult(-1);isAdult(20);isAdult(null);有些结果可能不符合你的业务要求有些输入甚至应该直接提示错误。AI 为了让示例简洁常常只展示“正常输入”的写法。但真实用户不会永远按照最理想的方式输入数据。更好的做法每次至少问 3 类情况拿到函数后先检查正常情况输入正确时结果是否符合预期 边界情况最小值、最大值、临界值会怎样 异常情况空值、错误类型、缺失字段会怎样例如可以继续问 AI下面是一个判断是否成年的函数。 请不要修改代码只列出我应该手动测试的 1. 正常场景 2. 边界场景 3. 异常场景 并说明每个场景的预期结果。这比直接问“代码对不对”更有效。因为你会得到一份可以亲手验证的测试清单。误区四遇到报错只发一句“这是什么问题”当代码报错时很多人会把一行错误信息发给 AITypeError: Cannot read properties of undefined 这是什么问题AI 可以解释这句话的大概含义但通常无法准确判断问题发生在哪里。因为它缺少关键上下文报错完整信息和行号。报错时执行的操作。相关代码。实际传入的数据。你已经尝试过什么。信息不足时AI 只能给出一堆可能性。这会让你感觉“它说得都对但我还是不知道怎么解决”。更好的做法把报错现场交给 AI可以使用下面这个模板我的代码报错了请帮助我分析原因并按排查步骤回答。 报错信息 [粘贴完整错误信息包括行号] 相关代码 [粘贴报错位置附近的代码] 我当时的操作 [例如点击保存按钮后出现错误] 当前数据 [例如接口返回的数据、表单输入或函数参数] 我已经尝试过 [例如已经检查过接口地址仍然报错] 要求 1. 先解释报错的含义。 2. 分析最可能的原因。 3. 给出从高概率到低概率的排查步骤。 4. 如果信息还不够请明确告诉我还需要提供什么。注意报错信息中如果包含密钥、手机号、邮箱、用户数据、公司内部地址或生产日志要先删除或脱敏后再发送。误区五让 AI 一次改太多代码自己却没有检查范围当一个功能稍微复杂一点时新手很容易这样要求帮我把这个项目的登录功能、用户信息页面和接口请求全部完善一下。AI 可能会一次改很多文件页面组件。路由配置。请求封装。状态管理。接口文件。样式文件。配置文件。改动越多出问题的可能性越大。更麻烦的是当你发现问题时很难知道是哪个改动造成的。更好的做法一次只完成一个小目标把大需求拆成小任务第一步只完成登录表单的校验 第二步只接入模拟登录接口 第三步只处理登录成功后的跳转 第四步补充失败提示和加载状态每次让 AI 修改代码时都要明确范围请只修改 LoginForm.vue。 本次只增加用户名和密码不能为空的校验。 不要修改路由、接口、样式文件也不要新增依赖。 修改后请说明改了什么并给出手动验证步骤。这种方式看起来慢一点但它有三个好处更容易理解每一次修改。出错后更容易定位原因。更容易撤销不合适的改动。对于刚开始使用 AI 编程的同学来说小步修改、小步验证是非常重要的习惯。把 5 个误区变成 5 个好习惯前面提到的 5 个误区可以对应成 5 个简单习惯容易踩的坑更好的习惯复制代码就使用先理解再运行再验证只说“帮我写代码”补充背景、目标、限制和输出要求只测试正常情况同时测试正常、边界和异常情况只发一句报错提供完整报错、相关代码和操作过程一次让 AI 改很多拆成小任务限制修改范围如果暂时只能记住一句话可以记住这条每次使用 AI 后都问自己 我知道它改了什么吗 我验证过它改得对吗一份新手可直接使用的协作模板以后让 AI 帮你写代码时可以从这个模板开始我的学习和项目背景 [例如我在学习 React JavaScript目前在做一个待办事项小项目] 这次要完成的目标 [例如新增一个“删除待办事项”的按钮] 当前已有的内容 [例如列表组件已经存在每条待办事项有 id 和 title] 本次限制 - 只修改 [文件名] - 不新增第三方依赖 - 不修改无关文件 请按这个顺序回答 1. 先复述你理解的需求。 2. 说明准备修改什么。 3. 给出代码并添加必要注释。 4. 说明如何运行和手动验证。 5. 列出可能遗漏的边界情况。 如果信息不足请先问我不要自行假设。这不是万能模板但它能帮助你避开前面大部分误区。总结新手使用 AI 编程时最容易犯的错误不是“不会用工具”而是过早相信工具已经给出了最终答案。今天的 5 个误区分别是把 AI 代码直接复制进项目。不给背景和限制只说“帮我写代码”。只测试正常情况。遇到报错只发一句“这是什么问题”。一次让 AI 修改太多内容自己却不检查范围。避免这些误区并不需要你马上成为高级开发者。你只需要建立一个简单但可靠的流程说清需求 ↓ 理解 AI 的回答 ↓ 小范围修改 ↓ 测试正常、边界和异常情况 ↓ 确认后再提交请记住AI 可以帮你更快地写代码但只有你自己能确认代码是否真的可以使用。下一篇文章我们会做一次一周总结AI 编程入门最重要的 3 个原则。✍坚持原创求关注点赞收藏
返回列表