需求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解决需求,它肯定会出错,因为它不了解具体情况。

相关推荐
lqj_本人4 分钟前
DevUI高频组件(Form 组件)深度用法与避坑指南
前端·javascript
我要升天!5 分钟前
QT -- QSS界面优化
开发语言·c++·qt
live丶7 分钟前
从零实现一个低代码 H5 页面编辑器(Vue3 + 拖拽)
前端·vue.js
JANGHIGH7 分钟前
c++ 多线程(四)
开发语言·c++
小尧嵌入式12 分钟前
C++模板
开发语言·c++·算法
黑臂麒麟16 分钟前
华为云 DevUI初体验:如何快速入门项目搭建
前端·ui·华为云·devui
ALex_zry18 分钟前
C++中经典的定时器库与实现方式
开发语言·c++
翔云 OCR API23 分钟前
企业工商信息查验API-快速核验企业信息-营业执照文字识别接口
前端·数据库·人工智能·python·mysql
大胡子大叔24 分钟前
【与身俱能】机械臂训练(学习笔记)
笔记·学习
BTU_YC26 分钟前
python 内网部署
开发语言·python