前言
敲完回车换行键后,自动提示代码,而且大概率还是正确的,这是一种什么样的编程体验,这必然是一种很“爽”的体验。这是最近两天,我在写代码时遇到的新奇事。
仔细看了一下,原来是参加“亚马逊云科技【云上探索实验室】第三季”活动时,安装的codewhisperer在发挥“神奇”作用。
活动网址:https://dev.amazoncloud.cn/experience/detail?id=64fe85015388453b9eee520e&sc_medium=corecontent&sc_campaign=product&sc_channel=CSDN
本次探索活动的内容比较简单,包括安装和体验两部分。
由于内容比较清晰,文档比较详尽(就是中文看起来像机翻的☺),组织者那也是相当给力,所以很快就完成了体验任务。当时也没有太在意,以为和其它一些人工智能的应用产品一样,体验过了就“过”了,没想到却是“码”上带来切切实实的帮助。结合体验和后续使用中的情况,分享点个人的感受。
1、安装简单:
CodeWhisperer支持多种 IDE 。只需在IDE里,安装合适的 AWS IDE Toolkit,启用 CodeWhisperer 功能,就可以使用了。我是安装到Visual Studio Code中的使用的,安装过程比较简单,步骤清晰明了,提示清楚。大致如下:
安装完成后,在Visual Studio Code的左下角出现下述内容,表示安装完成,可以开始奇妙的探索旅程了。
2、使用方便:
那是相当的方便,基本上是无感的。首次安装完成并启动后 ,以后CodeWhisperer会随IDE自动启动。写上注释,敲下回车就可以等待它给出代码建议。甚至有时候,不给注释,它也可以根据上下文给出代码建议。程序员只需要使用几个简单的按键就可以接受或拒绝代码建议,非常方便和高效。
3、功能强大:
CodeWhisperer 可以提供代码建议, 还具有全面的代码扫描功能,可以检测难以发现的漏洞并提供修复建议。在这儿分享一个编程实践中代码建议的例子。
编程中我需要获取某个属性值,正准备去API手册查获取属性的方法,当敲完回车后,出现了一行推荐代码,虽然和实际API还有些出入,但基本意思有了,而且从上下文很准确的分析出目标。
它是怎么做到的呢?原来,CodeWhisperer会使用多个上下文线索来提供推荐,比如注释、源代码中的光标位置、光标前面的代码、以及同一项目中其他文件中的代码。
我在写的代码,是个新出的库,CodeWhisperer尚有如此表现。可见,CodeWhisperer学的还是很扎实的,数十亿行代码的语料库不是白学的。如果是亚马逊自己的产品或者是CodeWhisperer熟悉的领域,相信它会有更好的表现。而且随着进一步的学习和提高,CodeWhisperer会有更优秀的表现,没有最好,只有更好。
4、学习帮手:
经常需要帮助一些刚学编程的小朋友去检查代码,这是一种很不好的体验。新手的代码一般不规范,阅读起来很费劲,而且经常会搞出一些莫名其妙的问题。看到CodeWhisperer生成的代码质量,于是我打算将CodeWhisperer推荐给找我检查代码的新伙伴,让它帮助小伙伴们尽快提高编程能力。
CodeWhisperer不仅可以省掉使用检索工具去查找代码的时间,更重要的是CodeWhisperer推荐的代码是真实可运行的,而且质量更好、更规范。“熟读唐诗三百首,不会作诗也会吟”,从一开始就接触和学习高质量代码,会让小伙伴快速提高编程能力,也会帮助小伙伴们养成良好的代码习惯和注释习惯,注释也更准确。
下面是python的冒泡排序,只输入了两行中文注释,CodeWhisperer就给出了代码建议。
当我打算学习一门新的编程语言时,如果恰巧CodeWhisperer也会,那我会选择使用CodeWhisperer来帮助我,更快速的理解和掌握新语言的特点,写出高质量的代码。
当然,CodeWhisperer是一个工具,在没有收到有效信息的情况,也会作出一些迷惑,但有趣的行为:
结语
总得说来,CodeWhisperer是一个很不错的生产力工具,一个能理解自然语言,“读”的懂代码和注释,并且能转换成正确代码的“大聪明,机灵鬼”谁不爱呢,希望CodeWhisperer越来越智能!!!
CodeWhisperer 目前支持十几种编程语言,包括 Java, Python, JavaScript, TypeScript, C#, Go, Ruby, Rust, Scala, Kotlin, PHP, C, C++, Shell, and SQL。同时支持目前主流的开发工具,包括 VS Code、IntelliJ IDEA、PyCharm等。
CodeWhisperer不仅可以提供相关的代码建议,从而加快代码开发速度;还具有全面的代码扫描功能,可以检测难以发现的漏洞并提供修复建议(代码安全扫描目前仅支持 Python、Java 和 JavaScript)。
CodeWhisperer 当前针对个人用户提供免费服务,可以提供不限次数的代码建议和生成代码的功能,以及每日最多的 50 次代码安全漏洞扫描功能。支持中、英文输入。官方还提供了大量的体验例程。感兴趣的小伙伴可以上手体验一把!!!