AI伙伴:借助人工智能将新老代码对比分析后直出结果

news/2024/10/28 19:55:11/
aidu_pl">

实在太强了,事情经过就是同样实现一个效果,有一段新代码,还有一段老代码,但是怕新代码有什么遗漏,就让AI去比较,然后给出答案,结果是真的太爽了。

在这里插入图片描述

新老代码

老代码:
写着写着把老代码改得面目全非了,其实是无法运行的。

javascript">const removeTab = (targetIndex: string) => {// 如果是删除当前标签,那么在删除该标签后还要激活新标签及其内容// 如果删除的不是当前标签,那么直接到下一步删除标签即可if (activeTab.value === targetIndex) {// 找到删除后应当新激活的标签及其内容props.tabs.forEach((tab, i) => {if (tab._id === targetIndex) {const nextTab = props.tabs[i + 1] || props.tabs[i - 1];if (nextTab) {console.log('newTab3:', nextTab);// 打开新内容,activeTab的值经由openTab()中的currentTab更新后,通过computed监听并修改openTab?.(nextTab);}}});}// 重新整理所有标签(删除tab)props.tabs.splice(props.tabs.findIndex(tab => tab._id === targetIndex), 1);
};

新代码:
新代码的这个函数仅仅是对数据进行操作,老代码还要用到打开标签等函数

javascript">// 删除标签页(根据id删除)
function removeTab(targetId: string | null): TabItem | null {const index = allTabs.value.findIndex((tab: TabItem) => tab._id === targetId);if (index !== -1) {allTabs.value.splice(index, 1);if (currentTab.value?._id === targetId) {const nextIndex = Math.max(0, index - 1);currentTab.value = allTabs.value[nextIndex] || null;return currentTab.value;}}return null;
}

提问

这个部分请参考原 const removeTab = (targetIndex: string) => { // 如果是删除当前标签,那么在删除该标签后还要激活新标签及其内容 // 如果删除的不是当前标签,那么直接到下一步删除标签即可 if (activeTab.value === targetIndex) { // 找到删除后应当新激活的标签及其内容 props.tabs.forEach((tab, i) => { if (tab._id === targetIndex) { const nextTab = props.tabs[i + 1] || props.tabs[i - 1]; if (nextTab) { console.log(‘newTab3:’, nextTab); // 打开新内容,activeTab的值经由openTab()中的currentTab更新后,通过computed监听并修改 openTab?.(nextTab); } } }); }
// 删除标签页(根据id删除)
function removeTab(targetId: string | null): TabItem | null {
const index = allTabs.value.findIndex((tab: TabItem) => tab._id === targetId);
if (index !== -1) {
allTabs.value.splice(index, 1);
if (currentTab.value?._id === targetId) {
const nextIndex = Math.max(0, index - 1);
currentTab.value = allTabs.value[nextIndex] || null;
return currentTab.value;
}
}
return null;
}
// 重新整理所有标签(删除tab) props.tabs.splice(props.tabs.findIndex(tab => tab._id === targetIndex), 1); };
这段代码,看看效果是否一致?我提供的这个原来的代码现在已经错误百出了,你只要能感觉逻辑结构大致看就行

这种写字标点符号都没有,还和代码混在一起的要求扔给程序员的话,会不会被打????我提问里的你只要能感觉逻辑结构大致看就行,这句话换我我也想打。

还是扔给AI算了,看看他能不能理解我要的是什么。

结果

好了,我直接截图吧,看看AI的分析流程。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
AI找到了最大的不同点,并进行了修改。。。

javascript">function removeTab(targetId: string | null): TabItem | null {const index = allTabs.value.findIndex((tab: TabItem) => tab._id === targetId);if (index !== -1) {allTabs.value.splice(index, 1);if (currentTab.value?._id === targetId) {const nextIndex = index < allTabs.value.length ? index : Math.max(0, index - 1);currentTab.value = allTabs.value[nextIndex] || null;return currentTab.value;}}return null;
}

就问你们方便不方便?


http://www.ppmy.cn/news/1542669.html

相关文章

Redis 单机、主从、哨兵和集群架构详解和搭建

目录 前言 单机部署 检查安装 gcc 环境 下载安装 Redis 启动 Redis 关闭 Redis 配置Redis 主从部署 整体架构图 主从复制配置 重启 Redis 验证 主从复制的作⽤ 主从复制缺点 哨兵部署&#xff08;Sentinel&#xff09; 整体架构图 哨兵模式配置 启动哨兵 验证…

【MATLAB代码】FFT计算频率

1、采样频率 的计算 dt mean(diff(time)); % 计算时间间隔 (采样周期) Fs 1 / dt; % 采样频率 (Hz)通过时间数据 计算采样频率 。 &#xff1a;从 CSV 文件中读取的时间列&#xff0c; &#xff1a;计算时间数据中每个连续点之间的时间差&#xff0c; &…

【Unity实战笔记】第二一 · 基于状态模式的角色控制——以UnityChan为例

目录 一 内容摘要二 前言三 状态模式的必要性3.1 非状态模式的角色控制3.2 简易状态模式的角色控制3.3 状态模式3.3.1 IState3.3.2 IdleState3.3.3 RunState3.3.4 JumpState3.3.5 PlayerController_ComplexStateMode3.3.6 注意事项 3.4 SMB 四 基于SMB的角色控制4.1 项目实战案…

怎么提取pdf的某一页?批量提取pdf的某一页的简单方法

怎么提取pdf的某一页&#xff1f;在日常工作与学习中&#xff0c;我们经常会遇到各式各样的PDF文件&#xff0c;它们以其良好的兼容性和稳定性&#xff0c;成为了信息传输和存储的首选格式。然而&#xff0c;在浩瀚的文档海洋中&#xff0c;有时某个PDF文件中的某一页内容尤为重…

贪心算法day(1)

1.将数组和减半的最少操作次数 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;创建大跟堆将最大的数进行减半 注意点&#xff1a;double t queue.poll()会将queue队列数字减少一个后再除以2&#xff0c;queue.offer(queue.poll(&#xff09;/…

Elasticsearch 解析:倒排索引机制/字段类型/语法/常见问题

Elasticsearch 是一个分布式的开源搜索引擎&#xff0c;广泛用于全文搜索、分析和数据存储。它基于 Apache Lucene 构建&#xff0c;支持 RESTful 风格的 API&#xff0c;使得开发者能够高效地存储和检索数据。本文将详细讲解 Elasticsearch 的基本原理&#xff0c;特别是其倒排…

本地服务器上搭建PPTist轻松实现跨地域的在线PPT制作与演示

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 本文主要介绍如何在Windows系统环境本地部署开源在线演示文稿应用PPTist&#xff0c;并结合cpolar内网穿透工具实现随时随地远程访问与使用该项目。 PPTist …

member access within null pointer of type ‘ListNode‘

文章目录 前言一、空指针解引用二、访问已释放的内存三、 结构体定义问题四、错误的链表操作五、代码上下文六、示例代码七、调试建议 前言 p -> next p1; p1 p1 -> next; p p->next;runtime error: member access within null pointer of type ListNode如果出现…