您现在的位置是:首页 > 文章详情

代码推荐哪家强?Facebook 机器学习技术有话讲

日期:2019-04-12点击:459

自动补全功能相信大家在写代码时用得不少,这是一个十分方便的功能,但也十分基础,它只是免去了我们输入冗长单词的操作。但如果我告诉你,有一个工具能直接给你推荐代码 —— 可以直接用的代码,你会考虑使用吗?

日前,Facebook 宣布了一个名为 Aroma 的工具,通过 Aroma,开发者可以轻松找到常见的编码模式,而无需手动浏览数十个代码片段,从而节省了日常开发工作流程的时间和精力。

Aroma 基于代码和代码之间进行搜索和推荐,辅以机器学习的加持,即便是在大型代码仓库中也有可观的效率。

说了这么多,下面就来看看 Aroma 是如何进行代码推荐的。

假如一位开发者编写了如下的代码,但同时想了解其他人是如何解码手机 bitmap 的,他就可以使用下面的代码直接进行搜索:

 Bitmap bitmap = BitmapFactory.decodeStream(input);

Aroma 会返回一些推荐:

 final BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 2; // ... Bitmap bmp = BitmapFactory.decodeStream(is, null, options);

这段代码来自于五个实现类似功能的代码,但是去除了相关细节,以便开发者更好地参考。

此外,我们也可以把 Aroma 集成到开发环境中。

Facebook 表示除了将 Aroma 部署到自己的内部代码仓库之外,还为其它的开源项目创建了 Aroma 版本。上面的示例就是来自 GitHub 上 5000 多个开源 Android 项目的集合。


△ Aroma 工作原理

虽然这个工具提升了开发者的效率,但也引起了一些争议。有开发者认为,Aroma 似乎是强行使用机器学习解决实际上没有人有问题的例子。他认为很多人搜索习惯用法的主要用例,是希望了解如何进行高级别的重构,而不仅仅是为了获得相似的代码。

对此,你有怎样的看法?欢迎留言交流。

原文链接:https://www.oschina.net/news/105885/aroma-ml-for-code-recommendation
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章