需求8——通过一个小需求来体会AI如何帮助改bug

这篇文章,我们通过一个简单的例子来说明,平时在写需求的时候,我们可以在什么时候用AI来帮助我们写代码。

首先来看一下这个需求:系统中某个用户使用的时候出现了bug,通过手机建立临时任务报错,没有办法新增临时任务。报错界面如下图:

那么,当我们拿到这个信息时,第一步应该做什么?首先,我们需要确认他说话的真实性。万一他在捉弄我,那岂不是很搞笑?所以,我先在本地环境测试了一下,看看能不能新增临时任务,结果发现可以。然后,我又在测试环境中试了一下,结果还是可以新增临时任务。这时,我只能怀疑:难道这位同事在玩我?

但这不太可能啊,他没事干嘛捉弄我?于是,我决定让他给我看看他新增的临时任务单的内容,结果是这样的:

他没有勾选"知会干系人"的选项,所以无法提交这张临时任务单。

于是,我去查看了提交按钮调用的后端接口,发现如果你不选择"知会干系人",这个字段(userId)就会是false。(没错,你没听错,"知会干系人"的字段名是userId,可能是当时外包开发时设定的)

那么,知会干系人的字段是false就一定有问题吗?不一定。我查看了睿哥给我的日志,内容如下:

这个报错我看不懂,怎么办?问AI。

然后我去后端接口,看看这个userId在后端接口是怎么处理的,结果给我发现这个:

这个userId的值本应该是一个数组。如果你不填,应该默认为空数组"\[\]"才对,现在居然是false,那肯定会报错。

所以,整体的思路应该是什么呢?我认为应该是修改userId的默认值,让它返回空数组"\[\]"而不是false。

那么,应该如何修改前端代码呢?

  1. 找到提交任务的代码:定位到负责提交任务的前端代码部分,通常是在一个函数中处理表单数据。

  2. 检查userId的处理逻辑 :找到userId字段的赋值逻辑,确保它在未选择"知会干系人"时被赋值为空数组"\[\]"而不是false。

  3. 修改代码 :将userId的默认值从false改为"\[\]"。

全局搜索这个postDetail,结果是这样的:

一个个看,到底哪一个才是针对这个临时任务单的,结果找到了:

这样,就确保userId无论如何都是一个数组了。

我怎么知道这样改的?问AI的:

如果你读完整篇文章,你会发现,当我使用AI来帮助修改代码时,我其实已经很清楚代码出错的地方了。例如,在这个例子中,我知道userId == false导致了错误,按理说这里应该是[]才对。而且,我已经定位到了具体的代码位置,知道哪里有问题,但我不知道如何正确地修改。我知道需要修改,但不知道该怎么改。不过,我已经把最终想要实现的效果告诉了AI,这时AI就能发挥作用了。

你可以把这个过程比作踢足球:我已经突破了所有防守队员,只剩下临门一脚,而我不会射门。这时,让AI来帮我射门就好了。如果在比赛刚开始时,你直接让AI解决需求,它肯定会出错,因为它不了解具体情况。

相关推荐
远离UE43 分钟前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience11 分钟前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
朱涛的自习室32 分钟前
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)
android·前端·后端
栈帧之外1 小时前
【C++】STL之set
开发语言·c++
catchadmin2 小时前
免费可商用 PHP 管理后台 CatchAdmin V5.4.1 发布,新增 MCP 支持
开发语言·php
xian_wwq2 小时前
【学习笔记】Milvus 如何完成一次向量相似度检索,Milvus 索引到底应该怎么选?-15
笔记·学习·milvus
Hhuhkt2 小时前
3D 云养宠小游戏
学习
java1234_小锋3 小时前
【技术专题】HTML5 网页技术 - HTML5简介 & HTML5 文档结构
前端·html·html5
jimy13 小时前
c++的 Type Traits (二、更详细版本)
开发语言·c++
狗凯之家源码网3 小时前
纯 PHP+MySQL 应用市场系统源码实测!
开发语言·mysql·php