写点什么

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

评论

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

vim设置go语法高亮

程序员欣宸

vim 8月月更

后端面试必备知识点

浅羽技术

Java 面试 后端 8月月更

[JS真好玩] InfoQ创作者必备: 监控每天是谁取关了你?

HullQin

CSS JavaScript html 前端 8月月更

leetcode 205. Isomorphic Strings 同构字符串(简单)

okokabcd

LeetCode 算法与数据结构

开源一夏 | React对于生命周期的深入研究

恒山其若陋兮

开源 8月月更

一文读懂隐私公链Findora生态布局

BlockChain先知

一文读懂隐私公链Findora生态布局

鳄鱼视界

当满世界喧嚣“All in Web3”,但你可以慢慢来

One Block Community

区块链 程序员 开发者 就业 黑客马拉松

乐观锁和悲观锁各自应用场景

浅羽技术

Java 乐观锁 悲观锁 8月月更

SMTP协议详解

工程师日月

8月月更

StarRocks 与奥威软件完成产品兼容认证,共同打造数据驱动的智慧企业

StarRocks

数据库

1个理念4个步骤,快速上手客户体验管理

创意时空

购物体验值急转直下?消费体验的症结和解药在这里!

创意时空

拆解实体门店转型升级中的体验思维

创意时空

云原生(二十七) | Kubernetes篇之自建高可用k8s集群前置概念与操作

Lansonli

云原生 k8s 8月月更

J-Tech Talk | 编写Dockerfile的最佳实践

Jina AI

Docker J-Tech Talk

每日一R「16」实践课之 kv-server(二)

Samson

学习笔记 8月月更 ​Rust

什么是数据结构

乌龟哥哥

8月月更

Hash算法详细介绍与实现(一)

迷彩

hash算法 8月月更

Mysql大法-Mysql索引失效VS Mysql存储引擎

知识浅谈

8月月更

Solana流支付协议Zebec完成850万美元融资,CircleVentures等参投

西柚子

[JS入门到进阶] 哎,被vite小坑了一波,大家记得配置build.cssTarget为'chrome61'

HullQin

CSS JavaScript html 前端 8月月更

如何快速地学习东西(上篇)

宇宙之一粟

学习 成长 8月月更

一文读懂隐私公链Findora生态布局

股市老人

MySQL常见面试题

浅羽技术

MySQL 数据库 面试 后端 8月月更

索信达控股上半年成绩出炉:核心业务收入大幅增长75.3%

索信达控股

项目管理解决方案

爱吃小舅的鱼

头脑风暴:二叉搜索树中的众数

HelloWorld杰少

算法 LeetCode 8月月更

Solana流支付协议Zebec完成850万美元融资,CircleVentures等参投

小哈区块

英特尔推出数据中心GPU Flex系列,以开放式软件堆栈助力开发者

科技之家

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