这个 AI 懂 Vue 吗?

作者:前端俱乐部

写在前面

最近海外的 AI 编辑器 Cursor 好像挺火的,与此同时,字节跳动也推出了豆包MarsCode编程助手,可以直接生成代码和极限编程。

豆包MarsCode AI 支持网页版编辑器,但我个人更喜欢让它和人气爆棚的 VSCode 强强联手,直接在扩展市场搜索即可一键安装,免费使用。

个人觉得 AI 编程助手之所以流行,是因为在极限编程中存在一个概念:Pair Programming(结对编程)。前 AIGC 时代结对编程需要同事或朋友联机编程,而后 GPT 时代则可以让 AI 和我们实时人机互动。

所以,本期我想分享在 VSCode 和 豆包MarsCode AI 结对编程的渐进测评和使用体验,本文代码主要以 Vue 框架为例。

AI 生成 Vue

目前 Vue 最新的主版本是 3.x,部分公司考虑到兼容性也有在用 Vue 2。

但我们不知道豆包MarsCode AI 懂不懂 Vue 3,所以在使用 AI 工具之前,我一般都会通过提问来试探一下其预训练模型的最新数据。

操作上没有任何黑科技,大部分 AI 都支持直接打字或语音提问即可,举个栗子:

可以看到, 豆包MarsCode 的情商还是比较高的,说自己虽然不如“Vue 之父”,但也是一个很懂 Vue 的 AI 助手。

这说明豆包MarsCode 的预训练模型里已经包含了 Vue 的相关数据,然后我们就可以大胆拷问它了。

首先,我让 豆包MarsCode 直接生成一段 Vue 3 的示例代码,这是它给出的答案,大家看看怎么样? 

 

AI 结对编程还是很方便,不管是学习还是开发,确实是一个任劳任怨的辅助。

当年我刚实习刚写 Vue 2 的时候,我的代码可能还不如它,因为 AI 代码语义化方面在大模型的训练后天然有优势,虽然是人工智能,但代码却很人性化。

重构代码屎山

豆包MarsCode 除了可以生成代码,还可以用来重构优化代码。

比如上述示例中,我们其实更推荐组合式 API,那就可以让 AI 自己重构,加班是不可能加班的。

这是我让豆包MarsCode 重构之后的代码示例:
 

 可以看到,基本符合我们的需求。如果我们需要从旧项目迁移到新项目,重构工作直接委托给 AI 似乎就欧了。

此外,在 Vue 3 更新的版本中,我们更偏爱 <script setup> 语法糖,但豆包懂不懂 Vue 语法糖呢?

可以看到, 豆包MarsCode也能够使用新型语法糖来重构代码,前提是我们的需求要明确。
就我个人而言,VSCode 和 豆包MarsCode 插件强强联手的优势在于,AI 除了生成和解释代码,还可以点击右上角的按钮,直接将代码插入或者新建文件,直接解放双手,有点零代码或低代码开发的体验了!

最骚的是,我还测试了一个冷门的 Vue 3 功能,一般我们只会在模板中使用 v-bind 指令,但是 Vue 3.2 之后我们也可以在 <style> 标记中使用 v-bind。

可以看到,虽然 Vue 新语法比较小众,但豆包还是能够顺利实现。

人工智能之不能

AI 不会考虑代码风格或时代潮流,只会严格按照我们的指令来生成代码。

我目前个人体验比较头大的问题有两个,但解决方案也不复杂,一来我们需要熟悉一定的 Prompt 提示语技巧,二来我们可以借助豆包MarsCode AI 来弥补编程助手的不足。

就我目前的测试, 豆包MarsCode AI 目前是使用最新的数据进行训练,所以 Vue 3.5 的新功能也难不倒它。由于豆包MarsCode和编程助手都是字节跳动的产品,我相信最新数据很快应该能得到同步,到时候又直接少了一大痛点,perfect!

高潮总结

本期我们使用了豆包MarsCode编程助手进行结对编程,AI 在代码生成和重构优化方面确实效果拔群,但同时对程序员有一定的 AI 素养要求,需要我们去明确自己的代码需求。

我最满意的一点在于,豆包MarsCode 编程助手是作为 VSCode 插件直接集成的,无缝衔接,在 IDE 里结对编程更容易进入禅模式的心流状态,不会像其他各种网页版 AI 助手切屏那样导致编程时注意力分散。

同时, 豆包MarsCode编程助手不仅可以用于实际开发中,在学习技术的时候,我们也多了一个 AI 的外部视角,可以通过元认知来审查代码,这其实也是结对编程的优势之一。

你可以直接注册和抢先体验豆包MarsCode 编程助手,直接作为 VSCode 扩展插件尝试结对编程,提前尝试 AIGC 时代的低代码编程方式。
 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/16919.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

海量数据面试题

目录 前言 什么是海量数据 一、利用位图解决 二、利用布隆过滤器解决 三、利用哈希切割解决 前言 在大数据时代&#xff0c;海量数据处理已成为技术领域中的一项重要课题。无论是企业级应用、互联网平台&#xff0c;还是人工智能和机器学习的实现&#xff0c;都离不开对大规…

复现论文-报错记录dream-ood

复现论文Dream the Impossible: Outlier Imagination with Diffusion Models 过程中出现的问题记录 服务器&#xff1a;NIVIDA2080ti github: 论文&#xff1a; arxiv.org/pdf/2309.13415 1.pytorch使用出现"RuntimeError: An attempt has been made to start a new proc…

LinkedList与链表

目录 一、链表 链表相关练习题 二、LikedList 1、构造方法 2、常用方法 3、LinkedList的遍历 4、ArrayList与LinkedList的区别 一、链表 链表是一种物理存储结构上非连续存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的引用链接次序实现的 链式结构在逻辑上是连…

vulnhub靶机hackxor提示(部分写出)

靶机地址&#xff1a;Hackxor: 1 ~ VulnHub 主机发现 130是靶机 端口扫描 服务扫描 漏洞扫描 Hosts配置&#xff08;这个是需要在网上找的&#xff0c;这个是靶机的缘故搭建不完全所以需要自己写hosts&#xff09; 访问wraithmail:8080 数据包 GET http://utrack/cat.jsp?id1…

录的视频怎么消除杂音?从录制到后期的杂音消除攻略

在录制视频时&#xff0c;杂音往往是一个令人头疼的问题。无论是环境噪音、设备噪音还是电磁干扰&#xff0c;杂音的存在都会极大地影响视频的听觉体验。录的视频怎么消除杂音&#xff1f;通过一些前期准备和后期处理技巧&#xff0c;我们可以有效地消除这些杂音&#xff0c;提…

C++内存模型与并发支持

本文是CppCon23演讲&#xff1a;C Memory Model&#xff1a;from C11 to C 23的笔记&#xff0c;掺杂个人见解以及扩展 内存模型 操作系统的四个特性&#xff1a;虚拟&#xff0c;并发&#xff0c;持久 抽象中很重要的一部分就是内存虚拟。从编程的角度来看&#xff0c;编程就…

机器学习day5-随机森林和线性代数1

十 集成学习方法之随机森林 集成学习的基本思想就是将多个分类器组合&#xff0c;从而实现一个预测效果更好的集成分类器。大致可以分为&#xff1a;Bagging&#xff0c;Boosting 和 Stacking 三大类型。 &#xff08;1&#xff09;每次有放回地从训练集中取出 n 个训练样本&…

jdk1.7的hashmap为什么会出现死循环问题

原因在于链表结构出现了环状。为什么会出现环状的链表&#xff1f; 原因在于多个线程同时进行扩容的时候。 由于一个线程使用的是头插法进行迁移数据到新开辟的数组中&#xff0c;使得链表中的数据是颠倒的顺序。 而当另一个线程扩容的时候就可能因为这个颠倒的顺序而出现指针…

微信小程序navigateTo:fail webview count limit exceed

theme: nico 你们好&#xff0c;我是金金金。 场景 uniapp编写微信小程序&#xff0c;使用uni.navigateTo跳转的过程中报错如下&#xff1a; 报错意思也非常明显了&#xff1a;errMsg":"navigateTo:fail webview 数量超出限制 排查 排查之前我先贴一下代码 代码非…

逆向攻防世界CTF系列33-流浪者

逆向攻防世界CTF系列33-流浪者 shiftf12看到pass&#xff0c;跟进 是个输入的处理&#xff0c;其实很简单&#xff0c;看不懂也没关系&#xff0c;先看看return 这里strcmp成功后return的就是成功 最后要为KanXueCTF2019JustForhappy while ( *(_DWORD *)(a1 4 * v4) < 0x…

算法--解决二叉树遍历问题

第一 实现树的结构 class Node(): # 构造函数&#xff0c;初始化节点对象&#xff0c;包含数据和左右子节点 def __init__(self, dataNone): self.data data # 节点存储的数据 self.left None # 左子节点&#xff0c;默认为None self.rig…

Ubuntu22.04.2 k8s部署

k8s介绍 简单介绍 通俗易懂的解释&#xff1a; Kubernetes&#xff08;也被称为 K8s&#xff09;就像是一个大管家&#xff0c;帮你管理你的云计算服务。想象一下&#xff0c;你有很多个小程序&#xff08;我们称之为“容器”&#xff09;&#xff0c;每个都在做不同的事情&…

游戏引擎学习第12天

视频参考:https://www.bilibili.com/video/BV1yom9YnEWY 这节没讲什么东西&#xff0c;主要是改了一下音频的代码 后面有介绍一些alloc 和malloc,VirtualAlloc 的东西 _alloca 函数&#xff08;或 alloca&#xff09;分配的是栈内存&#xff0c;它的特点是&#xff1a; 生命周…

Linux-软件管理-本地仓库和网络资源仓库配置(RHCSA)

该章节的目录如下&#xff1a; 认识rpm包 将设备挂载到/mnt上面 查看光驱上的相关信息 使用rpm包管理软件 仓库的配置(重要) 无相关文件 本地仓库配置&#xff08;书写相关的仓库文件&#xff09; 配置流程 效果测试&#xff08;安装卸载&#xff09; 查看仓库 清理…

【arxiv‘24】Vision-Language Navigation with Continual Learning

论文信息 题目&#xff1a;Vision-Language Navigation with Continual Learning 视觉-语言导航与持续学习 作者&#xff1a;Zhiyuan Li, Yanfeng Lv, Ziqin Tu, Di Shang, Hong Qiao 论文创新点 VLNCL范式&#xff1a;这是一个新颖的框架&#xff0c;它使得智能体能够在适…

数字化建设:指标如何驱动的企业KPI设计?

我们以KPI设定为例&#xff0c;简单说明在一套科学的经营分析体系的加持下&#xff0c;企业的经营KPI应该如何设定&#xff0c;如图所示。 指标驱动的企业KPI设计 每年年初企业做战略规划的同时&#xff0c;会启动年度业务KPI的设定。这个时候经营分析团队会主导整个过程。首先…

初级数据结构——栈题库(c++)

目录 前言1.杭电oj——Bitset2.杭电oj——进制转换[3.力扣——LCR 123. 图书整理 I](https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/description/)[4.力扣——LCR 027. 回文链表](https://leetcode.cn/problems/aMhZSa/)[5.力扣——1614. 括号的最大嵌…

数字化转型企业架构设计手册(交付版),企业数字化转型建设思路、本质、数字化架构、数字化规划蓝图(PPT原件获取)

1、企业架构现状分析 2、企业架构内容框架 3、企业架构设计方法 3.1 、业务架构设计方法 3.2 、数据架构设计方法 3.3 、应用架构设计方法 3.4 、技术架构设计方法 软件全套资料部分文档清单&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&…

⾃动化运维利器Ansible-基础

Ansible基础 一、工作原理二、快速入门2.1 测试所有资产的网络连通性2.2 发布文件到被管理节点(资产) 三、资产(被管理节点)3.1 静态资产3.1.1 自定义资产3.1.2 自定义资产的使用3.1.3 资产选择器 四、Ansible Ad-Hoc 命令4.1 模块类型4.1.1 command & shell 模块4.1.2 cop…

鸿蒙NEXT自定义组件:太极Loading

【引言】&#xff08;完整代码在最后面&#xff09; 本文将介绍如何在鸿蒙NEXT中创建一个自定义的“太极Loading”组件&#xff0c;为你的应用增添独特的视觉效果。 【环境准备】 电脑系统&#xff1a;windows 10 开发工具&#xff1a;DevEco Studio NEXT Beta1 Build Vers…