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

Python
人工智能
IDE
Amazon CodeWhisperer
0
0
<!--StartFragment--> 随着今年人工智能技术的大火,越来越多的领域正在接受和利用这项强大的 AI 科技,以实现更高效、更智能的工作方式。在软件开发领域,AI 技术更是为我们的工作带来了前所未有的变革。从自动代码生成到智能编程助手,AI 正在逐步改变开发者的工作方式,提高开发效率和代码质量。 对于传统程序员开发来说,完成一些业务逻辑代码或者说特定代码,需要自己从 0 手动去敲代码、查 Bug、找思路、做优化,这个过程就需要较多的时间和精力去完成。但是在今天,时代已经发生变革了。 亚马逊云科技推出了一款前沿的 AI 编程助手——[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)。这款工具利用了最先进的深度学习技术,通过训练几十亿行代码,能够快速理解开发者的需求,提供即时的、强大的代码建议和错误检测,使开发者能够更快、更安全地构建应用程序。 为了友友们更好地了解和掌握 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail),在本博客中,我将带你手把手沉浸式体验一下 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 的魔力和强大之处,让你能爱上 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)! ![640.png](https://dev-media.amazoncloud.cn/3c1106660c384b479ef9af212f2fbd62_640.png "640.png") ![640(01).png](https://dev-media.amazoncloud.cn/c69656ddfd7641608994b543d97c592b_640%EF%BC%8801%EF%BC%89.png "640(01).png") ### **Amazon CodeWhisperer  功能概览** 可能很多小伙伴对  [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)  的具体的能力还不太清楚,这里先给大家详细介绍一下  [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)  拥有的一些超级实用和强大的功能!用上这些功能,再也不怕被同事卷开发效率了! #### **1.1  强大的代码建议** [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是基于数十亿行代码训练而成的,所以它能够理解用自然语言编写的各种代码,并且可以实时地生成多个代码建议来提高开发人员的工作效率。该服务直接在集成式开发环境(IDE)的代码编辑器中提供针对完整函数和逻辑代码块(通常由多达 10–15 行代码组成)的建议。 并且不用担心它生成的代码不符合你的代码风格,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 将学习你的代码写法与风格,遵循你的设定的风格和命名规则。怎么样,很惊艳有木有! #### **1.2  支持多种语言与 IDE** 在公司开发中,可能每个程序员们开发的语言或者说 IDE 都是不大一样的,但是请放心。 目前市面上主流的各类开发语言,例如 Python、Java、Go、Rust、PHP、C++、C、JavaScript、TypeScript 等等都是支持的!并且支持各种主流 IDE 工具,IDEA、Pycharm、VS Code 等等这些都支持\~ 还有友友可能会说如果是 SQL Boy 呢?能用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 吗?我的回答是,那是必须的! #### **1.3  安全扫描** 在咱们写完代码之后,可以使用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 帮助我们进行代码的安全扫描,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 将帮助我们分析出代码漏洞,并且会针对我们业务代码中的漏洞提出更改优化建议与代码。 这个功能很实用,能够帮助我们排除不必要的安全隐患!Boss 再也不用担心我写的代码出问题了。 ![640 (02).png](https://dev-media.amazoncloud.cn/7161e21d5fdc40fca02885f5e7d7df5e_640%20%2802%29.png "640 (02).png") ### **沉浸式体验使用 Amazon CodeWhisperer 实战开发代码** 相信大家看到这已经很期待 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 的实战表现了,这不,我来给大家看看 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是怎么智能帮助我们日常生活中提高学习与工作效率的! 首先我们使用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 来帮助我们快速构建一些常见算法及代码,在这里我选择 Python 语言,看看 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是怎么帮助我们进行构建的吧! #### **2.1  Pycharm 中快速导入 Amazon CodeWhisperer** 首先我们在 Pycharm 的设置 Settings 中,找到插件,然后搜索 “Amazon Toolkit”。点击 Install,等待下载完成后,重启 Pycharm 即可\~ ![640 (4).png](https://dev-media.amazoncloud.cn/368d820e0cac43208319ba5aa6b1fd76_640%20%284%29.png "640 (4).png") 然后我们在插件中进一步处理,使用个人亚马逊云科技账号去使用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)\~ ![640 (5).png](https://dev-media.amazoncloud.cn/425f3d0b9ad74911b4e0ba10d25b5a50_640%20%285%29.png "640 (5).png") ![640 (6).png](https://dev-media.amazoncloud.cn/9f93eef660b341c9aab930b2fb8fd2f3_640%20%286%29.png "640 (6).png") 我们需要将这个代码贴进来进行验证!并根据后续的操作进行邮箱注册创建 Amazon Builder 账号即可\~ ![640 (7).png](https://dev-media.amazoncloud.cn/c6934a3e31f545c8856f7ff9c63e7141_640%20%287%29.png "640 (7).png") 一切就绪之后会提出弹窗\~ ![640 (8).png](https://dev-media.amazoncloud.cn/d4215d930fc64cd691d15cd764a003c5_640%20%288%29.png "640 (8).png") 当在 Pycharm 中出现如下界面之后,就代表咱们能够顺利使用 [Amazon CodeWhisperer ](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)了! ![640 (21).png](https://dev-media.amazoncloud.cn/75e43fb760724189a545d69db4135f6d_640%20%2821%29.png "640 (21).png") 话不多说,开始用起来! #### **2.2  使用 Amazon CodeWhisperer 快速构建 Python 代码** 我们先来使用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 写一个简单的冒泡排序,咱看看效果。首先输入我们的注释,这样 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 就知道们要干什么了,然后我们输入 import,就可以看到 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 自动帮我们补全了 random 函数。 ![640 (9).png](https://dev-media.amazoncloud.cn/ca69579d12c0459f806dd91461279b8c_640%20%289%29.png "640 (9).png") 看到上面这个图,你以为 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 只是简单补齐一行代码那么简单?只能说你太小看 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 了!接着往下看! ![640 (10).png](https://dev-media.amazoncloud.cn/b3e740fb10194befa867df7f8f9c8e9d_640%20%2810%29.png "640 (10).png") 不单单只是那一行![Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 可以简简单单的直接帮我们补完所有实现代码! 好,我这里选择方案 2 中的代码补全,然后当输入符到达代码最后一行时,新的一行又自动跳出来了! ![640 (11).png](https://dev-media.amazoncloud.cn/df8ab09c0c1646e38da29d6167656384_640%20%2811%29.png "640 (11).png") 也就是 print(a\[i],end = ' ') 这一行是在我没有给出任何指令的情况下,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 自动提示我是否需要补充的!如果我需要,我只需按下 Tab 回车键或者鼠标点击 Insert Code 按钮即可。 怎么说兄弟们,有没有走一步算三步那味道了!这跟市面上以往的 AI 代码助手不同,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是真正能够进行“预判”式的辅助你写代码!并且咱们最开始的一切只是“源于”一个不起眼的小注释,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 通过这个注释已经帮我们算好了接下来 2-3 个步骤,是不是很高效! 我测试了一下使用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 写冒泡排序的时间,只需要按下三次 Tab 键即可!约等于大概 2s 钟的时间!如果说正常来写,只使用 Pycharm 自带的代码 Tab 补写,就算手速再快,也需要大概 15-20s 左右的时间! **2s 相比于 20s,近乎 10 倍的时间开销差距,在日常开发中有多香不用我多说了吧,各位老司机,时间就是金钱呀!** 只能说 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是真正意义上做到了帮助开发者节省时间,**用户体验感直接 Max!** **在同行中,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 真的可以说是“遥遥领先”了哈哈哈哈哈。** 除了上面 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 突出的 **“预判式”速度优势**,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 还有一个优势,那就是 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 不仅仅只是提供给你一种代码思路,而是提供了 3 种以上的代码建议,能够让我们有多种选择! 很明显,我们可以根据我们的具体代码开发需求以及个人习惯进行选择,这直接把**个性化体验拉满了**\~\~\~简单快速易上手,难度一点都没有!我看谁还没用上 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 哈哈哈。 #### **2.3  Amazon CodeWhisperer 支持各种领域方向的代码编写** 可能有老铁会觉得上面举的例子太简单了,还是对[ Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 超级魔力看的不过瘾。 行,那咱上点“高质量”的狠货。 狠货的情况是这样的,前两天我一个还在读研的同学在打全国研究生数学建模竞赛,问我如何用 Python 写一些高效的数学算法模型,例如二维马尔科夫链这种,我当时是这查查那查查,东拼西凑给同学发了一份二维马尔科夫链算法模型的代码。我只能说短短三四十行的代码至少花了我两三个小时,而且做的很难受,很心累。 现在我用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 来试试看看需要多久,或者说难不难写出算法模型。 首先还是按照上面一样,写个注释,让 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 明白我要做什么。 可以看到,如下图,我只是简单输入了 import math,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 就已经帮我补全了其他所需要的常见数学计算包。 ![640 (12).png](https://dev-media.amazoncloud.cn/d1242942b7e7493983c537c1b079b54b_640%20%2812%29.png "640 (12).png") 下一步,我继续在注释中写明我需要做到哪些事情。比方说我想继续写一个状态转移方程,用来求马尔科夫链模型的概率矩阵。 ![640 (13).png](https://dev-media.amazoncloud.cn/bb877e9e7f8c4077a184bc516caffd95_640%20%2813%29.png "640 (13).png") 可以看到,[Amazon CodeWhisperer ](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)直接提供好了一个初始矩阵给我,非常的方便。 我们再进一步提出要求,注释中写清楚即可。 ![640 (14).png](https://dev-media.amazoncloud.cn/397cfed9b7cc4e148244fca63855fe7d_640%20%2814%29.png "640 (14).png") 补全之后下一步 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 又根据新的注释帮我进行了代码建议,是不是看起来很专业,而且代码风格看起来赏心悦目,非常整齐,看起来清爽。 ![640 (15).png](https://dev-media.amazoncloud.cn/04b766c1ec8346bba3b5a0a381a3fd5d_640%20%2815%29.png "640 (15).png") 然后我们简单对状态矩阵进行判断返回即可。根据 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 的代码建议补全如下。 ![640 (16).png](https://dev-media.amazoncloud.cn/828b115bf25c459190a654dd9c6d1ab1_640%20%2816%29.png "640 (16).png") 怎么样,是不是很优秀,短短三五分钟,能够帮我把这种算法模型的架构搭出来一个大概,就能帮我省去很多麻烦事。 这说明 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是真的能够覆盖很多场景,就连高级数学知识、数据科学类方面的代码,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 也是能够帮助我们进行一个补全编写的! 在简单易上手的基础上,咱就是说,[Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) **主打的就是一个全能,能够覆盖多领域多方向需求\~** #### **2.4  Amazon CodeWhisperer 的安全扫描功能** 我找了一份研究生数学建模的参考示例代码,按照惯例,参考示例代码应该是没有问题的,那咱们看看 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 的安全扫描会不会提出什么安全漏洞建议\~ ![640 (17).png](https://dev-media.amazoncloud.cn/684409258b094445b3a92aba4907a742_640%20%2817%29.png "640 (17).png") ![640 (18).png](https://dev-media.amazoncloud.cn/72aa4bdb11cf4032a4b391407ad2d914_640%20%2818%29.png "640 (18).png") ![640 (19).png](https://dev-media.amazoncloud.cn/7967d1ee06584e3ab8892ac411e62f97_640%20%2819%29.png "640 (19).png") 咱们可以耐心等待看看扫描结果。结果显示扫描一切正常, 这说明这份参考示例代码是没有问题的。这符合咱们的预期, 说明 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 的安全扫描功能还是没问题的\~ ![640 (20).png](https://dev-media.amazoncloud.cn/e2dfc571d639493ba8d224f4db528303_640%20%2820%29.png "640 (20).png") ![640 (03).png](https://dev-media.amazoncloud.cn/0c23a9e3cf724689984bb0d154296f39_640%20%2803%29.png "640 (03).png") ### **Amazon CodeWhisperer 总结** 通过上面说的那么多东西,相信各位老铁肯定很心动了,还等什么呢,赶紧用起来吧! 咱们来总结一下 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)  的优点: 1、对小白友好,不存在什么引入难度。大家可以看到 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 导入及使用大概两分钟就能操作完了,非常的简单,不需要什么时间。 2、上手简单。其实使用 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 就几个快捷键,Tab 这种,使用起来也是完全没有任何的难度。 3、覆盖面广,功能全面。咱们可以看到,对于一些高级数学知识,他也能够很快的给出代码建议。这一点其实非常好,因为在开发中我们会遇到各种各样的问题与需求,代码助手的全面性决定了是否能够帮助更多的开发者,所以我觉得 [Amazon CodeWhisperer ](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail)是非常优秀的,功能全面无死角。 4、维护了代码开发安全。可能很多刚工作几年的开发者并不是非常有经验对于代码安全方面,但 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 刚好就能够帮我们有效识别和修复潜在的安全漏洞,我觉得这是非常好的。帮助我们更好的完成代码开发。 综上所述,我觉得 [Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 是一款各方面都非常不错的 AI 代码助手,遥遥领先这四个字,绝对当之无愧! **本文为“云上探索实验室”的作品之一,现在活动正火热进行中,邀您来投票![Amazon CodeWhisperer](https://aws.amazon.com/cn/codewhisperer/?trk=cndc-detail) 极客之选,由你票选!** ![640j.jpg](https://dev-media.amazoncloud.cn/2697f302ea3f45b9b1ae97175d52d105_640j.jpg "640j.jpg") **点击阅读原文,进入官方查看更多详情~** <!--EndFragment-->
0
目录
关闭