平时写代码的时候多少会依赖编辑器里面的代码补全,敲几个字母就能补全一整个词。可是这么多年过去了,为什么代码补全还是像最开始那样,只能限定于一个词,而且毫无意义地按照字典表顺序排列呢?
传统的代码补全,一大篇毫无意义的推荐
想象一下,如果用【AI】来做代码提示会怎样,把更常用的结果放在前面,给出更长的推荐,甚至一行!
AI 做代码补全,根据使用情况智能排序,甚至补完整个语句
【知名媒体纷纷报道】
近日我在浏览网页时,看到了机器之心、 36Kr、 猎云网等知名媒体对 AI 辅助编程产品 -「aiXcoder」(www.aixcoder.com) 的报道, 这一款用人工智能技术辅助开发者编程的产品,主要包含了智能代码补全和代码推荐。
aiXcoder 安装和使用起来很简单,能够有效提高开发者编程效率。aiXcoder 是基于深度学习技术,具备学习、优化的能力,像你的私人编程助手,在你使用过程中边学边用,随着使用时间越长,推荐的代码长度越长、越准确。
aiXcoder 支持 Java、Python、JavaScript、TypeScript、PHP、C 等多种编程语言。
支持很多常用 IDE:intelliJ IDEA、Pycharm、Ecplise、Sublime、PhpStorm、WebStorm、VS Code、Android Studio 等等。
【测试 AI 编程】
于是我测试了一下这个可以【帮助程序员节省时间】的工具,看看 AI 编程发展到什么程度,是否真正帮助程序员节省时间。
本着独立、客观、第三方的原则,挑选第三方的代码进行测试。
既然说可以节省编程时间,从【键盘按键】数量的角度进行统计与比较,因为敲击键盘数量越少,越节省开发时间。
【Round One:Tensorflow】
选择的第一个测试程序是 Google 官方的 tensorflow 示例程序:
测试代码地址:
https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/recurrent_network.py
选择如下的代码片段进行测试:
测试结果:
●IDE 自带推荐:
使用 IDE 自带代码提示功能,需要的按键次数:311
●aiXcoder 智能推荐
使用 aiXcoder 智能推荐提示功能,需要的的按键次数:56
测试结论:
选择 tensorflow 社区版本【aiXcoder 智能推荐是 IDE 自带推荐近 5 倍的编程效率】
使用录制的动图如下:
【 Round Two:Java】
选择钟述林老师的 Java 实战的经典例子。
测试代码地址:https://github.com/zsl131/spring-boot-test/tree/master/study12
选择如下的代码片段进行测试,例子里面的字符串不作为统计的指标:
测试结果如下:
●IDE 自带推荐:
使用 IDE 自带代码提示功能,需要的按键次数:236
●aiXcoder 智能推荐 - Java 版本模型
使用 aiXcoder 智能推荐提示功能,需要的的按键次数:105
测试结论:
选择 Java 社区版本【aiXcoder 智能推荐是 IDE 自带推荐 2.25 倍的编码效率】
使用录制的动图如下:
【Round Three:C 语言】
由于 C 语言不熟悉,所以选择简单的文件读取的例子进行测试:
结果如下:
●IDE 自带推荐:
IDE 自带代码提示功能,需要的按键次数:98
●aiXcoder 代码推荐 - C 版本模型
aiXcode 智能推荐提示功能,需要的按键次数:49
测试结论:
选择 C 社区版本【aiXcoder 智能推荐是 IDE 自带推荐 2 倍的编码效率】
使用录制的动图如下:
aiXcoder 和使用 IDE 编译器自带提示使用方式一致,无需学习成本即可上手使用,是一个面向程序员的好产品,在实际的使用中对提高编程效率很有帮助。
【更多为程序员量身定制的功能】
除了上面的测试功能,aiXcoder 还会分析你潜在的推荐需要,对系统默认推荐位置进行排序优化,把你想用的推荐结果排序前置,方便编程过程中的选择。
「代码搜索功能」是 aiXcoder 的另一个节省时间的功能:把搜索代码实现具体功能的搜索引擎做到了 IDE 中,节省来回切换浏览器的时间成本。
难怪不少使用过的网友说:aiXcoder 是他们用过的最好的代码补全工具,好评如潮:
【总结一下】
aiXcoder 和使用 IDE 编译器自带的短提示使用方式一致,没有学习成本即可上手使用,是一个面向程序员的好产品,在实际的使用中确实提升了编程的效率。
对于一个创新性产品,本身也会有不足的地方,根据官网和以往的用户评论,目前 aiXcoder 还有第四安需要注意的地方:
1、部分城市反馈速度延迟
由于网络延迟原因,部分地区的用户,推荐内容返回不及时,可能要超过 200ms 才有推荐结果。目前 aiXcoder 正在全国各地部署服务器,解决卡顿、推荐慢的问题。
2、某些语言、IDE 未支持
目前 aiXcoder 支持常见的 IDE,部分小众 IDE 未支持,用户可以在官网反馈或者在群里反馈,官方也会优先支持用户提议多的 IDE。
目前 aiXcoder 告诉我,马上会发布 go、Kotlin、css 等语言的支持,敬请期待吧。
3、时间长、效果好
安装之后,并不能起到立竿见影的效果,学习到反馈需要过程,根本还是深度学习的问题。一个用户安装并使用 1 周之后,推荐准确率要比刚装上好太多,而且推荐的长度也更长。
虽然 aiXcoder 还有部分的不足,作为一个纯国产的技术性产品,我作为一个程序员还是很期待,相信 aiXcoder 能够在编程领域掀起波浪,让我们拭目以待!
4、本地化版本(11 月月初推出)
由于很多用户在公司内网无法连接网络来使用当前版本的 aiXcoder,aiXcoder 正在做本地化的预测模型,预计 11 月月初推出,无需联网即可使用,速度和系统提示一样快。