写点什么

揭秘高效编程“武功秘笈”,手把手带你用 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:428299

评论

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

C#使用原生方法将文字朗读出来

喵叔

1月月更

Rust 元宇宙 18 —— 多场所共存的世界

Miracle

rust 元宇宙

个人成长中,关于规划设计的思考

程序人生

LabVIEW色彩匹配实现颜色识别、颜色检验(基础篇—13)

不脱发的程序猿

机器视觉 LabVIEW 颜色识别 颜色检验 色彩匹配

Failed to load module "canberra-gtk-module"

Ayosh

ReactNative进阶(八):connect

No Silver Bullet

React Native Redux 1月月更 connect

智感超清,有多智?有多清?

百度大脑

人工智能

LabVIEW彩色图像分割(基础篇—14)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 图像分割 阈值处理

18款口碑爆棚手机浏览器,被一网打尽了

Jackpop

我最终选择VS Code

Jackpop

跟一段工作说告别了

wood

300天创作

Postman如何做接口测试1:如何导入 swagger 接口文档

和牛

测试

架构实战营模块四课后作业

Jude

架构实战营

07 Prometheus之服务发现

穿过生命散发芬芳

Prometheus 1月月更

跟着动画学习GO数据结构之Go链表

宇宙之一粟

数据结构 链表 Go 语言 1月月更

模块五作业

Geek_e6f7f6

架构训练营

Go编译原理系列4(语法分析)

书旅

Go 编译 计算机基础 编译原理

办公专用!又一款开源免费”摸鱼“神器....

Jackpop

Python

工作方式发生了动荡?

Jackpop

【网络安全】浅析跨域原理及如何实现跨域

H

网络安全 网络安全信息安全、

为什么都是ViewGroup的LayoutParams,也会报cannot be cast to android.view.ViewGroup$MarginLayoutParams?

程思扬

andiod

【日拱一卒进击大厂系列】为什么单线程的Redis可以实现高并发访问

慕枫技术笔记

后端 1月月更

试论架构师必备的基础能力

陈俊

架构 技术认知

Uber系统架构设计

俞凡

架构 大厂实践 uber

Tableau Day4:时间分析

贾献华

Tableau 1月月更

全链路压测系列(四):全链路压测的价值是什么?

老张

性能测试 生产环境全链路压测

在 Flutter 中发出 HTTP 请求的最佳库(2022 年)

坚果

flutter 1月月更

【Spring专场】「IOC容器」不看源码就带你认识核心流程以及运作原理

洛神灬殇

Spring Framework spring ioc 1月月更 框架原理

数据库设计三范式

Ayue、

MySQL 1月月更

被忽视的问题:测试环境稳定性治理

老张

测试环境 稳定性治理

一个cpp协程库的前世今生(十三)互斥量

SkyFire

c++ cocpp

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