linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux基础建设 >

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

时间:2019-04-16  来源:未知  作者:admin666

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

日前,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 似乎46棋牌是强行使用机器学习解决实际上没有人有问题的例子。他认为很多人搜索习惯用法的主要用例,是希望了解如何进行高级别的重构,而不仅仅是为了获得相似的代码。

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

友情链接
  • PostgreSQL辟谣存在任意代码执行漏洞:消息不实
  • Firefox beta开始原生支持Windows 10 ARM64
  • fork()成为负担,需要淘汰
  • Ruby 2.3已结束支持,不再发布版本补丁
  • 优麒麟19.04即将发布,华为、阿里云、重大、360四大境像站鼎力支
  • Fedora提出统一流程,弃用上千Python 2软件包更可控
  • Edge on Linux?微软:会有的,但不是现在
  • Mozilla准备让“合格” Linux用户测试WebRender
  • Chrome不想让HTTPS网站通过HTTP下载文件
  • 2019开发者调查:Python或成赢家,Java最不赚钱?
  • 与Red Hat联手,Fedora要支持ARM笔记本
  • Mozilla宣布即将推出Firefox推荐扩展程序计划
  • 新版Chrome等主流浏览器将不再允许关闭点击跟踪
  • WireGuard 0.0.20190406最新快照发布,提供FreeBSD补丁和其他调
  • KDE Plasma 5.16 与 KDE Frameworks 5.57 每周功能总结
  • GIMP 2.10.10 发布,小功能添加和其他改进
  • 到2019年底,LVFS可能会托管1万多个固件文件
  • Visual Studio 2019 发布,带来Live Share 与 IntelliCode
  • Gitpod
  • 关注2019年最佳职位
  • GNU的GasU获得了对Intel BFloat16的支持
  • SuperTuxKart 0.10 RC1 发布,支持局域网/互联网多人游戏
  • Godot 3.2为其2D引擎获得伪3D支持
  • ConnMan 1.37 发布,作为Linux网络连将近一年的第一次更新
  • GitHub有超过3000个提到Vulkan的项目,D3D12有100~200个
  • Ant Design 3.16.2发布,企业级UI设计语言
  • TIOBE 2019年4月编程语言排行榜:C++重回前三名
  • Linux Kernel 5.1 RC3 发布,看起来很不错
  • 英特尔的IWD Linux无线守护进程继续提升新功能
  • 数据库技术 第485页
  • 改进的Spectre/Meltdown开关最终可能会进入Linux内核
  • 关于 Oracle redo与undo 的认识
  • Zabbix 4.2 发布,现代监控系统
  • Oracle DataGuard 报密码文件错误排查
  • Wine 4.6支持共享Wine
  • Facebook为Goya AI加速器开发Glow编译器后端
  • 体彩11选5走势图
  • 新濠博亚
  • 体彩排列3字谜
  • 德州扑克技巧
  • 中国足球内幕
  • 欧博娱乐
  • pk10改20分钟一期