写点什么

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

评论

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

Pod 阶段

耳东@Erdong

容器 4月日更

模块一:作业

去北方

架构实战营

二叉树学习总结

Nick

数据结构 算法 二叉树 红黑树

自然语言处理:网购商品评论情感判定

不脱发的程序猿

人工智能 自然语言处理 4月日更 网购商品评论情感判定 文本分析

架构训练营--微信业务架构

月伴沧海

架构训练营模块一作业

Geek_e0c25c

架构训练营

模块一-学生管理系统架构设计

华仔架构训练营

架构训练营作业第一期

预测师

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

Neil43

架构实战营

架构实战营0期作业1

sjj

VSCode 插件之 - GitLens

HoneyMoose

Wireshark 数据包分析学习笔记 Day27

穿过生命散发芬芳

Wireshark 数据包分析 4月日更

架构实战营模块一作业

hunk

架构实战营

【架构实战营】模块 1 作业

dragonboa

复杂度分析

奈奈奈奈

Java

【译】如何编写Go代码(使用GOPATH)

xcbeyond

Go 语言 4月日更 GOPATH

「编程模型」C++组合逻辑

顿晓

C++11 4月日更 std::function

学生管理系统

focus

模块一作业

Focused

【命题作业】模块 1:微信业务架构图+“学生管理系统”架构设计

小李

架构实战营

架构师实战营 1 期 作业1-微信的业务架构及学生管理系统

灵霄

架构实战营

DataSphere Studio 0.9.1 版本发布

WeDataSphere

大数据 微众银行 WeDataSphere DataSphere Studio 数据应用开发平台

架构实战营作业--业务架构图

Simon

架构实战营

模块一笔记:4R、3原则与设计环

去北方

架构训练营——作业1

架构实战营

架构实战营作业--学生管理系统

Simon

架构实战营

ES6面向对象 动态添加标签页

Chalk

JavaScript 大前端 ES6 4月日更

你可以伤害我,但是不能侮辱我

小天同学

人生 自我思考 个人感悟 4月日更 处世态度

作业1

大肚皮狒狒

杭州又多了一个失意的人

箭上有毒

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