文章作者:Coder9527

科技的进步日新月异,正当人工智能发展如火如荼的时候,各大厂商在“解放”码农的道路上不断创造出各种 Coding 利器,今天在下就带大家开箱体验一个 Coding 利器: Amazon CodeWhisperer

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

话不多说,开撸!

准备环境和开发工具:Win11 系统,VSCode,python3.9(环境变量已添加)

Amazon Toolkit 插件安装需要一个邮箱以及设定一个密码以便设置 Amazon Builder ID 并激活 Amazon CodeWhisperer 这对于没有亚马逊云科技账号的开发者来说可以很方便的使用亚马逊云科技系的服务了。

激活 Amazon CodeWhisperer 后我们的 VSCode 是这样的。如下图:

图片

代码自动建议默认是打开的,另外还可以提供安全扫描服务等。

1.代码生成的自动建议

于是让 Amazon CodeWhisperer 先来一个简单的,生成打印 hello world 函数:

在 py 文件中输入:

# a function named print_hello_world that prints "Hello World" to the screen.

图片

稍等片刻,它会自动提示函数名定义,按 Tab 键确认生成函数定义。

图片

然后是函数体以及调用:

图片

我们运行一下试试:

图片

运行完成。

接下来再撸一个求斐波那契数列第 n 位数的函数:

图片

生成运行成功,这个很考验英文描述能力,希望以后能增加解读汉语的功能!!

2.代码风险检测

我们看看 Amazon CodeWhisperer 对于除数为零的代码风险能不能检测到:

图片

竟然是:未在工作区检测到问题。 我和我的小伙伴们都惊呆了,说实话心理很忐忑。。。。。。

非得运行一下才能报出来问题。当然我写的这个除数为零的比较明显,如果能在比较隐藏的深的代码中检测到除数为零问题,那简直是很有帮助的。

图片

对于内存溢出我们来测试一下看看能不能检测出来:

def  max_recursion(n):
    if n == 1:
        return 1
    else:
        return n * max_recursion(n-1)
        
print(max_recursion(1000000))

图片

来运行一下,

图片

啊,这。。。抱歉,是在下肤浅了。。。

总体体验下来,Amazon CodeWhisperer 表现还是不错的生成的代码比较规范,我这里只用 python 测评了一下,有空在用其他语言试试。

好了,达摩克里斯之剑入鞘!

感觉没过瘾的小伙伴们请移步☞ ☞ ☞ ☞ ☞️ 亚马逊云科技中国峰会

文章来源:
https://dev.amazoncloud.cn/column/article/64f434262a1d01763ea480c0?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=SF


亚马逊云开发者
2.9k 声望9.6k 粉丝

亚马逊云开发者社区是面向开发者交流与互动的平台。在这里,你可以分享和获取有关云计算、人工智能、IoT、区块链等相关技术和前沿知识,也可以与同行或爱好者们交流探讨,共同成长。