随着今年人工智能技术的大火,越来越多的领域正在接受和利用这项强大的 AI 科技,以实现更高效、更智能的工作方式。在软件开发领域,AI 技术更是为我们的工作带来了前所未有的变革。从自动代码生成到智能编程助手,AI 正在逐步改变开发者的工作方式,提高开发效率和代码质量。
亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点 这里让它成为你的技术宝库!
对于传统程序员开发来说,完成一些业务逻辑代码或者说特定代码,需要自己从 0 手动去敲代码、查 Bug、找思路、做优化,这个过程就需要较多的时间和精力去完成。但是在今天,时代已经发生变革了。
亚马逊云科技推出了一款前沿的 AI 编程助手——Amazon CodeWhisperer。这款工具利用了最先进的深度学习技术,通过训练几十亿行代码,能够快速理解开发者的需求,提供即时的、强大的代码建议和错误检测,使开发者能够更快、更安全地构建应用程序。
为了友友们更好地了解和掌握 Amazon CodeWhisperer,在本博客中,我将带你手把手沉浸式体验一下 Amazon CodeWhisperer 的魔力和强大之处,让你能爱上 Amazon CodeWhisperer!
1、 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 等等这些都支持~
还有友友可能会说如果是 SQL Boy 呢?能用 Amazon CodeWhisperer 吗?我的回答是,那是必须的!
1.3 安全扫描
在咱们写完代码之后,可以使用 Amazon CodeWhisperer 帮助我们进行代码的安全扫描,Amazon CodeWhisperer 将帮助我们分析出代码漏洞,并且会针对我们业务代码中的漏洞提出更改优化建议与代码。
这个功能很实用,能够帮助我们排除不必要的安全隐患!Boss 再也不用担心我写的代码出问题了。
2、沉浸式体验使用 Amazon CodeWhisperer 实战开发代码
相信大家看到这已经很期待 Amazon CodeWhisperer 的实战表现了,这不,我来给大家看看 Amazon CodeWhisperer 是怎么智能帮助我们日常生活中提高学习与工作效率的!
首先我们使用 Amazon CodeWhisperer 来帮助我们快速构建一些常见算法及代码,在这里我选择 Python 语言,看看 Amazon CodeWhisperer 是怎么帮助我们进行构建的吧!
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 了!接着往下看!
不单单只是那一行!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 突出的 “预判式”速度优势,Amazon CodeWhisperer 还有一个优势,那就是 Amazon CodeWhisperer 不仅仅只是提供给你一种代码思路,而是提供了 3 种以上的代码建议,能够让我们有多种选择!
很明显,我们可以根据我们的具体代码开发需求以及个人习惯进行选择,这直接把个性化体验拉满了~~~ 简单快速易上手,难度一点都没有!我看谁还没用上 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 也是能够帮助我们进行一个补全编写的!
在简单易上手的基础上,咱就是说,Amazon CodeWhisperer 主打的就是一个全能,能够覆盖多领域多方向需求~
2.4 Amazon CodeWhisperer 的安全扫描功能
我找了一份研究生数学建模的参考示例代码,按照惯例,参考示例代码应该是没有问题的,那咱们看看 Amazon CodeWhisperer 的安全扫描会不会提出什么安全漏洞建议~
咱们可以耐心等待看看扫描结果。结果显示扫描一切正常, 这说明这份参考示例代码是没有问题的。这符合咱们的预期, 说明 Amazon CodeWhisperer 的安全扫描功能还是没问题的~
3、Amazon CodeWhisperer 总结
通过上面说的那么多东西,相信各位老铁肯定很心动了,还等什么呢,赶紧用起来吧!
咱们来总结一下 Amazon CodeWhisperer 的优点:
1、对小白友好,不存在什么引入难度。大家可以看到 Amazon CodeWhisperer 导入及使用大概两分钟就能操作完了,非常的简单,不需要什么时间。
2、上手简单。其实使用 Amazon CodeWhisperer 就几个快捷键,Tab 这种,使用起来也是完全没有任何的难度。
3、覆盖面广,功能全面。咱们可以看到,对于一些高级数学知识,他也能够很快的给出代码建议。这一点其实非常好,因为在开发中我们会遇到各种各样的问题与需求,代码助手的全面性决定了是否能够帮助更多的开发者,所以我觉得 Amazon CodeWhisperer 是非常优秀的,功能全面无死角。
4、维护了代码开发安全。可能很多刚工作几年的开发者并不是非常有经验对于代码安全方面,但 Amazon CodeWhisperer 刚好就能够帮我们有效识别和修复潜在的安全漏洞,我觉得这是非常好的。帮助我们更好的完成代码开发。
综上所述,我觉得 Amazon CodeWhisperer 是一款各方面都非常不错的 AI 代码助手,遥遥领先这四个字,绝对当之无愧!
技术前沿拓展
前端开发,你的认知不能仅局限于技术内,需要发散思维了解技术圈的前沿知识。细心的人会发现,开发内部工具的过程中,大量的页面、场景、组件等在不断重复,这种重复造轮子的工作,浪费工程师的大量时间。
介绍一款程序员都应该知道的软件JNPF快速开发平台,很多人都尝试用过它,它是功能的集大成者,任何信息化系统都可以基于它开发出来。
这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类,方便扩展;集成了代码生成器,支持前后端业务代码生成,实现快速开发,提升工作效率;框架集成了表单、报表、图表、大屏等各种常用的 Demo 方便直接使用;后端框架支持 Vue2、Vue3。如果你有闲暇时间,可以做个知识拓展。