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

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

时间:2024-10-28 15:21:05浏览次数:8  
标签:index 直出 AI 标签 value 人工智能 tab null id

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

在这里插入图片描述

新老代码

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

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);
};

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

// 删除标签页(根据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找到了最大的不同点,并进行了修改。。。

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;
}

就问你们方便不方便?

标签:index,直出,AI,标签,value,人工智能,tab,null,id
From: https://blog.csdn.net/snans/article/details/143303466

相关文章

  • AI产品经理转型攻略:你必须弄清的9大关键问题
    笔者近10年来一直工作于AI领域技术和产品一线,今天分享9个大家普遍关注却少有人系统回答的问题。1.下一个10年,AI产业在国内的发展和职业发展的机遇如何?从四方面看:(1)技术角度:逐步成熟且仍有大量创新;(2)价值角度:从带动生产效率、效益提升角度有巨大潜在价值;(3)政策支撑:核心产业......
  • 2.1、Explain详解
    文章目录MySQL安装参考文档Explain工具介绍Explain分析示例示例SQLExplain总览explain两个变种explain中的列介绍idselect_typetable列partitions列type列(重点)possible_keys列key列key_len列ref列rows列filtered列Extra列MySQL安装参考文档文档:02-Mysql5.7与8......
  • AI大模型时代,35岁+程序员都去哪了?零基础入门到精通,收藏这一篇就够了
    ▼最近直播超级多,预约保你有收获在AI大潮中,AI大模型如同一艘巨轮,引领着技术的前进方向。然而,随着这股浪潮的汹涌,人们开始关注那些35岁以上的程序员,在这个快速变化的时代中,面临着怎样的挑战和机遇?本文将带您深入了解程序员的职场发展之路,探索如何在AI大模型时代中乘风......
  • MMpretrain使用Tiny ImageNet数据集
    TinyImageNet是ImageNet的子集,ImageNet太大了,训练一次要好几天,于是准备用TinyImageNet代替ImageNet./mmpretrain/mmpretrain/datasets/imagenet.py里面列出了ImageNet的两种格式:imagenet├──train│├──class_x||├─......
  • C#学习 Main() 和命令行参数 (8)
    概述C#程序中只能有一个入口点。如果多个类包含Main方法,必须使用StartupObject编译器选项来编译程序,以指定将哪个Main方法用作入口点。classTestClass{staticvoidMain(string[]args){//Displaythenumberofcommandlinearguments.......
  • 全面解释人工智能LLM模型的真实工作原理(三)
    前一篇:《全面解释人工智能LLM模型的真实工作原理(二)》序言:前面两节中,我们介绍了大语言模型的设计图和实现了一个能够生成自然语言的神经网络。这正是现代先进人工智能语言模型的雏形。不过,目前市面上的语言模型远比我们设计的这个复杂得多。那么,它们到底复杂在什么地方?本节将为你......
  • 【揭秘】如何用ConstraintValidator自定义校验注解,让你的代码更简洁高效!
    在Java中,自定义校验注解(CustomValidationAnnotation)通常用于BeanValidation框架(如HibernateValidator),以便对特定字段或方法参数进行验证。以下是如何创建和使用自定义校验注解的详细步骤和代码示例:1.定义自定义校验注解首先,我们需要定义一个自定义校验注解。这个注解需......
  • Containers和Serverless本质区别是什么
    Containers和Serverless的本质区别主要在以下几个方面:一、资源管理方式;二、执行环境;三、部署和运维方式;四、冷启动和实时性;五、适用场景;六、资源消耗;七、成本;八、扩展性。资源管理方式是指,Containers通过资源限制和隔离技术,实现对资源的有效管理,Serverless资源由云服务提供商自动......
  • 智谱 AI 大模型
    简介智谱是清华大学技术成果转化公司中英双语千亿级大模型GLM-130B对话模型ChatGLM开源模型ChatGLM-6BAI提效助手智谱清言高效率代码模型CodeGeeX多模态理解模型CogVLM文生图模型CogView文生视频模型CogVideo文生视频大模型开放平台大模型体验中心编......
  • 使用 EXPLAIN 分析结果优化 SQL 查询
    使用EXPLAIN分析结果优化SQL查询是数据库性能调优中的一项重要技能。EXPLAIN语句能够展示数据库查询优化器对SQL查询的处理计划,从而帮助开发者识别查询中的瓶颈和低效部分。本文将详细介绍如何使用EXPLAIN分析结果来优化SQL查询。一、什么是EXPLAINEXPLAIN语......