这年头,程序员开始卷AI编程了?

2024-08-01 09:02:58 浏览数 (2)

大家好,我是程序员小灰。在AI技术飞速发展的背景下,相信大家都有目共睹,各种AI技术的普及让很多复杂的工作变得简单高效,如大语言模型和AI绘画、AI 视频等,但是目前最吸引我的莫过于“AI代码生成”。

在过去,每次有新技术出现时,我们都需要花大量时间去学习,比如一门新的语言,即便是资深的程序员至少要了解其各种基本语法,基本关键字、函数等…才能够稳定使用。不过现在得益于AI代码生产工具的发展,它的出现让我们可以从各个不同语言之间更加平滑迁移。

对于程序员求职来说,目前的就业环境竞争已经非常激烈了,求职者往往需要展示更多的竞争力才能脱颖而出。比如,一些公司的招聘中可能要求面试者掌握多种编程语言比如Golang和Java,但如果我们其中一种的话,在以往我们基本难以胜任这份工作。但放到现在我们如果学会使用AI生产代码工具的话,那么在工作中它可以帮我们轻松应对其他语言项目。所以掌握 AI代码生成技术不仅让我们在面试中表现得更加自信,还能给招聘方留下深刻的印象。

对于企业来说,具备AI能力的开发者显得尤为珍贵。大多数企业现在招聘时,都希望找到那些能够熟练运用AI工具,提高开发效率的人才。当未来 AI 生成代码技术更加成熟时,面对复杂的项目需求时,熟练的使用AI代码生产工具可以快速生成高质量的代码,帮我们省下大量时间。这样一来,我们就能把更多精力投入到创新和解决实际问题上,而不是被繁琐的编码工作所困扰。

小灰认为,随着AI技术的不断进步,未来企业对开发者的要求也会越来越高。能够熟练使用AI工具的开发者,将会在职场中占据更大的优势,成为企业争相抢夺的对象。

今天给大家介绍一个编程神器——腾讯云 AI 代码助手https://cloud.tencent.com/product/acc?fromSource=kol_730

腾讯云 AI 代码助手支持云端编辑器,以及 VS code和 JetBrains IDEs插件的方式来使用。

为了让大家更好地了解腾讯云 AI 代码助手,小灰使用云端编辑器给大家做个功能演示。

一、 代码补全

我们进入到云编辑器页面,在左侧选择 python 项目,选中 `tryrun.py` 文件,光标选择最后一行代码。

生成完「取文件并解析json格式」部分代码之后,我们在下面新写一行注释「# 解析 json 并写入文件」,可以看到根据注释也能继续生成代码。

到此,通过「腾讯云 AI 代码助手」,我们使用其代码补全功能即可快速实现一个读取文件的函数。

二、 代码生成

接着我们用 python实现一个「O(1) 时间插入、删除和获取随机元素」功能。

在页面左侧选择「腾讯云 AI 代码助手对话」,在下面的输入框内可以写提示词。

发送提示词如下:

代码语言:javascript复制
实现RandomizedSet 类:

RandomizedSet() 初始化 RandomizedSet 对象
bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。
bool remove(int val) 当元素 val 存在时,从集合中移除该项,并返回 true ;否则,返回 false 。
int getRandom() 随机返回现有集合中的一项(测试用例保证调用此方法时集合中至少存在一个元素)。每个元素应该有 相同的概率 被返回。
你必须实现类的所有函数,并满足每个函数的 平均 时间复杂度为 O(1) 。

示例:
输入:
["RandomizedSet","insert","remove","insert","getRandom","remove","insert","getRandom"]
[[],[1],[2],[2],[],[1],[2],[]]
输出:
[null,true,false,true,2,true,false,2]

解释
RandomizedSet randomizedSet =newRandomizedSet();
randomizedSet.insert(1);// 向集合中插入 1 。返回 true 表示 1 被成功地插入。
randomizedSet.remove(2);// 返回 false ,表示集合中不存在 2 。
randomizedSet.insert(2);// 向集合中插入 2 。返回 true 。集合现在包含 [1,2] 。
randomizedSet.getRandom();// getRandom 应随机返回 1 或 2 。
randomizedSet.remove(1);// 从集合中移除 1 ,返回 true 。集合现在包含 [2] 。
randomizedSet.insert(2);//2 已在集合中,所以返回 false 。
randomizedSet.getRandom();// 由于 2 是集合中唯一的数字,getRandom 总是返回 2 。

发送提示词后可以看到左侧,AI 立即开始为我们生成代码,并且每段代码上都有进行注释。

我们现在使用AI生成的代码到 leetcode 上验证。

leetcode 点击运行可以看到,运行成功。

接着我们提交代码后,可以看到在执行用时分布上击败了半数的程序员。

要知道这仅是一次提示词生成的结果,还有可调优的空间。

三、 前端页面代码生成

除了后端语言,在前端页面上,我们也可以使用腾讯云 AI代码助手来帮助我们编写。

在 Cloud Studio 页面,在「空间模板」页面内,我们选择「HTML-CSS-JS」模板。

加载完成后,我们进入页面在顶部工具栏选择「终端」——新建终端。

输入`npm install -g http-server && http-server -c-1`,运行后点击「打开内置预览」。

然后在页面的左侧我们即可看到代码的运行效果。

接着我们全选 `index.html` 文件所有内容,在「腾讯云 AI 代码助手对话」中输入【帮我实现一个登录页面】,等待 AI 生成代码后,直接写入当前文件内,再右侧预览窗口点击刷新。

这时在右侧可以得到一个非常整洁美观的登录页面。

以上就是给大家展示的内容,不知道各位看完有没有觉得很震撼,反正小灰是觉得这个是很夸张的一个结果了,不管是前端和后端的工作,AI 目前已经具备了一定的能力去胜任这样的工作了。

这里还有一个详细的工具演示视频,大家有兴趣可以看下:

时代在不断变化,以往每次推出新的技术或者编程语言,都能引起一次技术的更新迭代,我们已经经历了不少次了,比如:新的编程语言,容器技术、云计算、大数据等。

这次 AI 带来的变化也是一次时代的趋势,小灰觉得在新时代下我们要保持竞争力需要有开放的精神,积极拥抱变化。

目前腾讯云AI代码助手现在还推出了有奖征集、产品体验官等等用户福利活动,加入腾讯云AI代码助手用户群可以了解更多活动详情,有机会领取苹果音箱、机械键盘等超赞的礼品福利!

0 人点赞