文章目录
- 一、什么是 AI 编程
- 二、AI 编程和传统编程有什么区别
- 三、AI 可以帮助我们做什么
- 1. 解释陌生代码
- 2. 生成基础代码
- 3. 分析报错信息
- 4. 补充测试用例
- 5. 编写技术文档
- 四、AI 编程不能完全代替什么
- 五、初学者应该如何开始
- 六、总结
✍创作者:全栈弄潮儿
🏡 个人主页:全栈弄潮儿的个人主页
🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区
📙 专栏地址,欢迎订阅:AI 编程提效实战
现在很多开发者都在使用 AI 辅助编程。
有人让 AI 生成代码,有人让 AI 分析报错,也有人用 AI 编写测试、整理文档和理解陌生项目。
但对于刚开始接触 AI 编程的同学来说,通常会有几个疑问:
- AI 编程到底是什么?
- AI 真的可以帮助我们写代码吗?
- 没有很强的编程基础,能不能使用 AI?
- AI 生成的代码可以直接放进项目吗?
- 使用 AI 编程,会不会让自己越来越不会写代码?
这篇文章不会介绍复杂工具,也不会讨论“一句话生成完整项目”。
我们先从基础开始,了解 AI 编程的概念,以及它在真实开发中可以发挥什么作用。
一、什么是 AI 编程
简单来说,AI 编程就是在软件开发过程中,借助 AI 工具完成一部分开发工作。
这些工作包括:
- 根据需求生成基础代码
- 解释陌生的代码和技术概念
- 分析报错信息
- 拆分开发任务
- 补充测试用例
- 优化重复代码
- 编写技术文档
- 梳理项目结构和实现思路
AI 更像是一个随时在线的编程助手。
我们可以把需求告诉它,让它帮助我们分析问题;也可以把代码和报错信息交给它,让它帮助我们寻找排查方向。
但是需要注意:
AI 可以帮助开发者提高效率,但不能代替开发者做最终判断。
代码是否符合业务需求、是否存在安全问题、是否能够稳定运行,最终都需要开发者自己确认。
二、AI 编程和传统编程有什么区别
传统开发流程通常是:
分析需求 ↓ 查阅资料 ↓ 设计方案 ↓ 编写代码 ↓ 运行测试 ↓ 修改问题加入 AI 之后,流程会变成:
分析需求 ↓ 让 AI 协助拆分问题 ↓ 让 AI 提供方案或代码草稿 ↓ 开发者修改和验证 ↓ 让 AI 辅助测试和排错 ↓ 开发者完成最终交付AI 改变的不是“程序员是否需要写代码”,而是开发者处理问题的方式。
过去,我们可能需要花较长时间搜索资料、查找语法和编写重复代码。
现在,可以先让 AI 帮助我们建立思路,再把更多时间放在需求理解、代码验证和工程决策上。
三、AI 可以帮助我们做什么
1. 解释陌生代码
对于初学者来说,阅读陌生代码往往比编写代码更困难。
看到一段不理解的代码时,可以这样向 AI 提问:
请逐行解释下面这段 JavaScript 代码。 要求: 1. 说明每个变量的作用 2. 说明函数的输入和输出 3. 解释代码的执行顺序 4. 用一个简单示例说明运行结果与其只问“这段代码是什么意思”,不如明确告诉 AI 你希望它从哪些角度解释。
看完解释后,还应该自己运行代码,并尝试修改参数。
只有经过运行和验证,才算真正理解。
2. 生成基础代码
当需求比较明确时,可以让 AI 先生成一个基础实现。
例如,我们要实现一个筛选成年用户的函数:
请使用 JavaScript 编写一个函数。 功能: 从用户数组中筛选出年龄大于等于 18 岁的用户, 并返回这些用户的姓名。 要求: 1. 使用清晰的函数命名 2. 给出完整示例数据 3. 说明运行结果 4. 补充一个边界情况测试AI 生成的代码可能类似这样:
functiongetAdultNames(users){returnusers.filter(user=>Number(user.age)>=18).map(user=>user.name);}constusers=[{name:'小明',age:16},{name:'小王',age:20},{name:'小李',age:18}];console.log(getAdultNames(users));// [ '小王', '小李' ]这段代码看起来比较简单,但仍然需要验证:
users为空时是否正常age是字符串时是否可以处理- 用户对象缺少
age时会发生什么 - 返回结果是否符合真实业务要求
代码能够运行,只能说明语法基本正确,并不代表它完全符合业务需求。
3. 分析报错信息
开发过程中,报错是非常常见的事情。
不要只把一句“这个报错怎么解决”发给 AI。
建议提供完整的上下文:
我的 Node.js 项目启动时报下面这个错误: [粘贴完整报错信息] 相关代码如下: [粘贴相关代码] 当前 Node.js 版本是 xx, 项目使用的包管理工具是 npm, 我已经尝试重新安装依赖,但问题仍然存在。 请分析可能原因,并给出排查步骤。 暂时不要直接修改代码。这样提问的好处是,AI 不只是给出一个可能答案,还会帮助你建立排查顺序。
推荐按照以下顺序处理报错:
- 先确认错误发生的位置。
- 阅读完整错误信息。
- 提供相关代码和运行环境。
- 让 AI 给出多个可能原因。
- 按步骤逐一验证。
- 修改后重新运行测试。
4. 补充测试用例
很多开发者知道测试很重要,但经常遗漏边界情况。
例如,计算折扣的函数至少需要考虑:
- 正常价格
- 价格为 0
- 负数价格
- 折扣为 0
- 折扣超过合理范围
- 参数类型错误
可以让 AI 根据现有函数生成测试清单:
请分析下面这个折扣计算函数, 列出正常场景、边界场景和异常场景。 不要直接写测试代码, 请先用表格说明每个场景的输入、预期结果和测试目的。先让 AI 梳理测试思路,再生成测试代码,通常比直接让它“帮我写测试”更容易发现问题。
5. 编写技术文档
开发中有很多工作并不复杂,却比较耗费时间,例如:
- 编写 README
- 整理接口参数
- 生成变更说明
- 整理项目启动步骤
- 将需求拆分成开发任务
这些工作非常适合交给 AI 辅助完成。
例如:
请根据下面的接口代码, 生成 Markdown 格式的接口文档。 文档需要包括: 1. 接口用途 2. 请求方式 3. 请求参数 4. 返回示例 5. 错误说明 6. 调用示例不过,AI 生成的文档也需要人工检查。
尤其要确认接口地址、参数名称、返回字段和实际代码是否一致。
四、AI 编程不能完全代替什么
AI 虽然可以生成代码,但它并不了解项目中的全部业务背景。
以下工作不能完全依赖 AI:
- 判断需求是否合理
- 决定系统架构
- 确定复杂业务规则
- 审核权限和安全风险
- 验证代码是否适合线上环境
- 对生产事故承担责任
AI 可以提供建议,但开发者需要负责判断。
根据我长期使用 AI 编程的经验,最适合交给 AI 的任务通常具备三个特点:
- 目标比较明确
- 结果容易验证
- 重复性比较高
例如代码解释、测试用例补充、错误排查和文档整理,通常比较适合交给 AI。
而核心业务逻辑、系统架构和安全权限,则需要开发者投入更多时间进行分析。
五、初学者应该如何开始
如果你刚开始接触 AI 编程,建议按照下面的顺序练习:
- 先让 AI 解释一段你已经看过的代码。
- 再让 AI 帮你生成一个简单函数。
- 自己运行代码并观察结果。
- 修改参数,验证代码是否符合预期。
- 将完整报错信息交给 AI 分析。
- 让 AI 帮助补充测试场景。
- 最后再把 AI 用到完整项目中。
不要一开始就让 AI “帮我开发一个完整系统”。
更好的方式是:
从一个小问题开始,边使用、边理解、边验证。
例如,你可以先完成一个待办事项、计算器或文件处理小工具。
当你能够独立判断 AI 生成的代码是否正确时,AI 才真正成为你的开发助手。
六、总结
本文主要介绍了 AI 编程的基本概念和常见使用场景。
重点内容如下:
- AI 编程是借助 AI 辅助完成开发工作。
- AI 可以帮助解释代码、生成基础代码、分析报错、补充测试和编写文档。
- AI 生成的代码不能直接盲目使用,必须经过运行和验证。
- 初学者应该从小功能、小脚本和代码解释开始。
- 目标明确、容易验证、重复性高的任务,更适合交给 AI。
- 核心业务、系统架构和安全问题,仍然需要开发者自己判断。
下一篇文章,我们将继续讨论:
开始 AI 编程前,到底需要准备什么?
✍坚持原创,求关注,点赞,收藏