速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

揭秘高效编程“武功秘笈”,手把手带你用 Amazon Q 写一波!

  • 2023-11-22
    北京
  • 本文字数:3442 字

    阅读完需:约 11 分钟

大小:1.59M时长:09:17
揭秘高效编程“武功秘笈”,手把手带你用 Amazon Q 写一波!

随着今年 AI 技术的大火,越来越多的领域正在接受和利用这项强大的科技,以实现更高效、更智能的工作方式。在软件开发领域,AI 技术更是为我们的工作带来了前所未有的变革;从自动代码生成到智能编程助手,AI 正在逐步改变开发者的工作方式,提高开发效率和代码质量。


对于程序员传统的开发来说,完成一些业务逻辑代码或者特定代码,需要自己从 0 手动去敲代码、查 Bug、找思路、做优化,这个过程会需要耗费较多的时间和精力来完成。但是在今天,时代已经发生了变革。


亚马逊云科技推出了一款前沿的 AI 编程助手——Amazon CodeWhisperer。这款工具利用了先进的深度学习技术,通过训练几十亿行代码,能够快速理解开发者的需求,提供即时的、强大的代码建议和错误检测,使开发者能够更快、更安全地构建应用程序。


为了大家更好地了解和掌握 Amazon CodeWhisperer,在本文中,我将带你手把手沉浸式体验一下 Amazon CodeWhisperer 的魔力和强大之处!


01 Amazon CodeWhisperer 功能概览


可能有些小伙伴对 Amazon CodeWhisperer 的具体的能力还不太清楚,这里先给大家详细介绍一下 Amazon CodeWhisperer 拥有的一些实用和强大功能。用上这些功能,再也不怕被“卷”开发效率了!

1.1 强大的代码建议


Amazon CodeWhisperer 是基于数十亿行代码训练而成的,所以它能够理解用自然语言编写的各种代码,并且可以实时地生成多个代码建议来提高开发人员的工作效率。该服务直接在集成式开发环境(IDE)的代码编辑器中提供针对完整函数和逻辑代码块(通常由多达 10–15 行代码组成)的建议。

并且不用担心它生成的代码不符合你的代码风格,Amazon CodeWhisperer 将学习你的代码写法与风格,遵循你的设定的风格和命名规则。

1.2 支持多种语言与 IDE


在公司开发中,可能每个程序员们开发的语言或者 IDE 都是不大一样的,但是请放心,目前市面上主流的各类开发语言,例如 Python、Java、Go、Rust、PHP、C++、C、JavaScript、TypeScript 等等都是支持的!并且支持各种主流 IDE 工具,IDEA、Pycharm、VS Code 等等这些,Amazon CodeWhisperer 都支持。


还有的朋友可能会说,如果是 SQL Boy 呢?能用 Amazon CodeWhisperer 吗?我的回答是,那是必须的!

1.3 安全扫描


在写完代码之后,可以使用 Amazon CodeWhisperer 帮助我们进行代码的安全扫描,它将帮助我们分析出代码漏洞,并且会针对业务代码中的漏洞提出更改优化建议与代码。这个功能很实用,能够帮助我们排除不必要的安全隐患。

02 沉浸式体验使用 Amazon CodeWhisperer 实战开发代码


相信大家看到这里已经很期待 Amazon CodeWhisperer 的实战表现了。我将为大家展示下 Amazon CodeWhisperer 是如何智能地帮助开发者们在日常生活中,提高学习与工作效率的!


首先,我们使用 Amazon CodeWhisperer 来帮助快速构建一些常见算法及代码。在这里我选择 Python 语言。

2.1 Pycharm 中快速导入 Amazon CodeWhisperer


在 Pycharm 的设置 Settings 中,找到插件,然后搜索 “Amazon Toolkit”。点击 Install,等待下载完成后,重启 Pycharm 即可。



然后我们在插件中进一步处理,使用个人亚马逊云科技账号去使用 Amazon CodeWhisperer。



我们需要将这个代码贴进来进行验证,并根据后续的操作进行邮箱注册创建 Amazon Builder 账号即可。



一切就绪之后会提出弹窗:



当在 Pycharm 中出现如下界面之后,就代表能够顺利使用 Amazon CodeWhisperer 了。



话不多说,开始用起来吧!

2.2 使用 Amazon CodeWhisperer 快速构建 Python 代码


我们先来使用 Amazon CodeWhisperer 写一个简单的冒泡排序试试效果。首先,输入我们的注释,这样 Amazon CodeWhisperer 就知道要干什么了;然后我们输入 import,就可以看到 Amazon CodeWhisperer 自动帮我们补全了 random 函数。



看到上面这个图,或许你会以为 Amazon CodeWhisperer 只是简单补齐一行代码,千万别小看它了,接着往下看:



不单单只是那一行,Amazon CodeWhisperer 可以直接帮我们补完所有实现代码!

这里我们选择了方案 2 中的代码补全,然后当输入符到达代码最后一行时,新的一行就会自动跳出:



也就是 print(a[i],end = ' ') 这一行是在我没有给出任何指令的情况下,Amazon CodeWhisperer 自动提示是否需要补充。如果需要,只需按下 Tab 回车键或者鼠标点击 Insert Code 按钮即可。


与其他的 AI 代码助手不同的是,Amazon CodeWhisperer 是真正能够进行“预判式”的辅助你写代码,并且最开始的一切只是“源于”一个不起眼的小注释,Amazon CodeWhisperer 通过这个注释已经帮我们算好了接下来 2-3 个步骤。是不是很高效?


测试了一下,使用 Amazon CodeWhisperer 写冒泡排序的时间,只需要按下三次 Tab 键即可,大概是 2s 的时间!如果按正常编写的速度,只使用 Pycharm 自带的代码 Tab 补写,就算手速再快,也需要大概 15-20s 左右。2s 相比于 20s,是近乎 10 倍的时间开销差距。Amazon CodeWhisperer 是真正意义上做到了帮助开发者节省时间,用户体验感 Max!


除了上面突出的“预判式”速度优势外,Amazon CodeWhisperer 不仅仅只是提供一种代码思路,而是提供了三种以上的代码建议,能够让我们有多种选择。


很明显,我们能够根据具体代码的开发需求以及个人习惯进行选择,可以说是把个性化体验拉满了。简单快速易上手,难度一点都没有,还不快速速用上 Amazon CodeWhisperer?

2.3 Amazon CodeWhisperer 支持各种领域方向的代码编写


可能有开发者朋友会觉得,上面举的例子太简单了,还是对 Amazon CodeWhisperer “超级魔力”看的不过瘾。那我们来点“高质量”的“狠货”一起试试吧!


”狠货“的情况是这样:前两天,一个还在读研的同学在打全国研究生数学建模竞赛问我,如何用 Python 写一些高效的数学算法模型,例如二维马尔科夫链这种。我当时查了很多资料,东拼西凑给同学发了一份二维马尔科夫链算法模型的代码。只能说短短三四十行的代码至少花了我两三个小时,而且做的很难受,很心累。


而如今,我用 Amazon CodeWhisperer 来试试看看需要多久,或者看看写出算法模型的难度。

首先,还是按照上面一样写个注释,让 Amazon CodeWhisperer 明白我要做什么。


可以看到,如下图,我只是简单输入了 import math,Amazon CodeWhisperer 就已经帮我补全了其他所需要的常见数学计算包。



下一步,我继续在注释中写明我需要做到哪些事情。比方说我想继续写一个状态转移方程,用来求马尔科夫链模型的概率矩阵。



可以看到,Amazon CodeWhisperer 直接提供好了一个初始矩阵给我,非常的方便。

我们再进一步提出要求,注释中写清楚即可。



补全之后,下一步 Amazon CodeWhisperer 又根据新的注释帮我进行了代码建议,不仅十分专业,且代码风格看起来赏心悦目,非常整齐和清爽。



然后我们简单对状态矩阵进行判断返回即可。根据 Amazon CodeWhisperer 的代码建议补全如下。



短短三五分钟,它就能够大概地把这种算法模型的架构搭出来,省去了很多不必要的麻烦。这说明,Amazon CodeWhisperer 是真的能够覆盖很多场景,就连高级的数学知识、数据科学类方面的代码,也是能够进行补全编写的。在简单易上手的基础上,Amazon CodeWhisperer 主打的就是一个全能,能够覆盖多领域多方向需求

2.4 Amazon CodeWhisperer 的安全扫描功能


我找了一份研究生数学建模的参考示例代码,按照惯例,参考示例代码应该是没有问题的。我们一起看看 Amazon CodeWhisperer 的安全扫描会不会提出什么安全漏洞建议:




结果显示,扫描一切正常,说明这份参考示例代码是没有问题的,符合预期。


03 Amazon CodeWhisperer 总结


通过上面的讲解和实践,相信各位开发者朋友肯定很心动了。还等什么,赶紧用起来吧!

总结一下 Amazon CodeWhisperer 的优点:


  • 对小白友好,不存在什么引入难度。大家可以看到 Amazon CodeWhisperer 导入及使用大概两分钟就能操作完,十分便捷,不需要什么时间。

  • 上手简单。其实使用 Amazon CodeWhisperer 就几个快捷键,Tab 这种,使用起来也是完全没有任何的难度。

  • 覆盖面广,功能全面。可以看到,对于一些高级数学知识,它也能够很快的给出代码建议。这一点非常实用,因为在开发中我们会遇到各种各样的问题与需求,代码助手的全面性决定了是否能够帮助更多的开发者。所以我觉得 Amazon CodeWhisperer 是非常优秀的,功能全面无死角。

  • 维护了代码开发安全。可能很多刚工作几年的开发者,对于代码安全方面并不是非常有经验,但 Amazon CodeWhisperer 刚好就能够有效识别和修复潜在的安全漏洞,这是非常重要的一个功能。


综上所述,我觉得 Amazon CodeWhisperer 是一款各方面都非常不错的 AI 代码助手!

2023-11-22 10:428402

评论

发布
暂无评论
发现更多内容

数据治理:数据集成架构的演进

用友BIP

认证鉴权对于 API 网关的重要性

API7.ai 技术团队

认证授权 API Gateway APISIX 网关

华为云桌面的安全,到底是怎么做到的?

清欢科技

华为云桌面携手伙伴共建繁荣生态

清欢科技

教你用JavaScript实现鼠标特效

小院里的霍大侠

JavaScript 编程开发 初学者 入门实战

华为云CDN,为企业内容加速打开新局面!

IT科技苏辞

天花板级别ZooKeeper+Dubbo笔记,通俗易懂,颠覆认知

小小怪下士

Java zookeeper dubbo

智能勘探 | AIRIOT智慧油田管理解决方案

AIRIOT

物联网 智慧油田

从全球顶级数据库大会 SIGMOD 看数据库发展趋势

NebulaGraph

数据库 图数据库 技术演变

【附下载】政企数智办公平台研究报告,何以数智化?

融云 RongCloud

数智化 百幄

欧盟森林砍伐法规和合规性:使用 Dimitra 技术解决森林砍伐问题

股市老人

Wallys/MIMO/Industrial-grade/2x 2 900M high powerRadio /902-928Mhz/AR9223/ AR9582/AR9531/AR9344/

Cindy-wallys

我们是如何构建自己的可观测性的

观测云

云计算 可观测性 云服务 观测云

数据也能开口说话?这次汇报,老板疯狂给我点赞

图灵社区

数据分析 可视化 图表

基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等

JackJiang

Netty 即时通讯 即时通讯IM SSL/TLS

华为云CDN,为企业提供极致低时延用户体验

IT科技苏辞

Go Ubuntu 安装 gvm:Go 版本管理工具

非晓为骁

Go ubuntu 版本管理工具 gvm

当 Amazon Lambda 遇上 Apache APISIX 可以擦出什么火花?

API7.ai 技术团队

微服务 AWS API Gateway APISIX 网关

为什么 APISIX Ingress 是比 Traefik 更好的选择?

API7.ai 技术团队

云原生 APISIX Ingress Controller Kubernetes Serverless

华为云CDN,助力中小企业提升用户体验

IT科技苏辞

阿里云斩获2022全球分布式云大会两项大奖

云布道师

阿里云

什么样的技术,能让黄河开口说话?

白洞计划

华为云桌面,助力企业灵活、高效办公

清欢科技

南开大学团队采用全场景AI框架昇思MindSpore,打造“皮肤病大规模可信综合辅助诊断系统”

Geek_2d6073

华为云桌面,数字化时代便捷、安全的办公选择

清欢科技

作业2:微信朋友圈的高性能复杂度

白杨

数据也能开口说话?这次汇报,老板疯狂给我点赞

图灵教育

数据分析 可视化 图表

华为云CDN,助力电商平台无惧流量洪峰

IT科技苏辞

哈啰出行高质量故障复盘法:“3+5+3”(附模板)

TakinTalks稳定性社区

国产时序数据库TDengines学习调研及总结

李草凯

学习无代码开发工具有什么用?

间隔

微信小程序 无代码开发

揭秘高效编程“武功秘笈”,手把手带你用 Amazon Q 写一波!_亚马逊云科技_我不是码神_InfoQ精选文章