Kotlin普及度提高,提升50%安卓应用的质量
极客时间编辑部
讲述:杜力大小:1.03M时长:02:16
谷歌曾经在 I/O 2017 上宣布,安卓加入了对 Kotlin 编程语言的支持。现如今,在所有开源的安卓应用程序中,有 12% 都是由 Kotlin 开发的。
Kotlin 是一个运行在 Java 虚拟机上的静态类型编程语言,采用 Apache 2.0 许可证。它虽然与 Java 的语法不兼容,但是可以与 Java 代码互操作,可以复用现有的 Java 类库,并且被认为所需要的代码量更少,而代码更少通常也意味着 bug 更少。谷歌当时发布的 Android Studio 3.0 就添加了 Kotlin 支持。
一年后,法国的计算机科学家布鲁诺·古瓦·马特乌斯(Bruno Gois Mateus)和马蒂亚斯·马丁内斯(Matias Martinez)发表了一篇论文,对用 Kotlin 编写的安卓应用程序的质量进行了研究。
他们在论文中描述了如何从开源应用商店 F-Droid 收集 925 个应用程序,以及如何测量 Kotlin 代码在每个应用中的表现,并将分析代码“异味”(Smells)作为衡量代码质量的指标。“异味”(Smells)是“反模式”(anti-patterns)的另一种说法,是一种用于指代不良编码模式的术语。
在研究中,他们通过对 925 个应用进行分析,发现在 109 个应用中,都是至少有一个版本是使用 Kotlin 语言写的,其中又有 35% 的应用只使用了 Kotlin 语言。在包括 Java 代码和 Kotlin 代码的应用中,在比较新的版本中 ,Kotlin 的代码比例有所提高,而 Java 代码则有所下降。
面向对象(OO)的反模式包括:BLOB(Blob Class)、SAK(Swiss Army Knife)、LM(Long Method)和 CC(Complex Class)。
而安卓反模式包括:重型广播接收器(Heavy Broadcast Receiver,HBR)、重型异步传输(Heavy AsyncTask,HAS)、重型服务启动(Heavy Service Start,HSS)、初始 OnDraw(Init OnDraw,IOD)、无内存解析器(No Low Memory Resolver,NLMR)和 UI 重写(UI Overdraw,UIO)。
在面向对象的反模式中,LM、CC 和 BLOB 出现在至少 92% 的 Kotlin 和 Java 应用中。其中,面向对象的反模式在 Kotlin 应用中更为常见,而在安卓的反模式中,Java 比 Kotlin 更容易受到三种反模式的影响。
此外,研究者还在论文中提到,Kotlin 的采用使得至少 50% 的安卓应用程序的质量提高了。因此他们认为,Kotlin 的代码质量比 Java 更高。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论