Kotlin 遍及度增进,代码质量比 Java 更高?
技能沙龙 | 邀您于8月25日与国美/AWS/转转三位专家配合切磋小措施电商拭魅战
Google 在 I/O 2017 上公布 Android 插手了对 Kotlin 编程说话的支持。现在,在全部开源的 Android 应用措施中,我们能发明有 12% 都是由 Kotlin 开拓。Google 在 2017 年底暗示 Kotlin 已经渗出了高出 17% 的行使 IDE,Android Studio 3.0 开拓的 Android 应用措施。 Kotlin 是一个运行在 Java 假造机上的静态范例编程说话,于 2012 年开源,回收 Apache 2.0 容许证。它与 Java 的语法不兼容,但计划成可以与 Java 代码互操纵,可复用现有的 Java 类库,而且被以为所需代码量更少,而代码更少凡是也意味着 bug 更少。Google 其时宣布的 Android Studio 3.0 就添加了 Kotlin 支持。一年后,法国 Valenciennes 大学的计较机科学家 Bruno Gois Mateus 和 Matias Martinez 颁发了一篇论文《An Empirical Study on Quality of Android Applications written in Kotlin language》,对用 Kotlin 编写的 Android 应用措施的质量举办了研究。 论文原文:
他们在论文中描写了怎样从开源应用市肆 F-Droid 网络 925 个应用措施,以及怎样丈量 Kotlin 代码在每个应用中的示意,并将说明代码“异味”(Smells)作为权衡代码质量的指标。 注:“异味”(Smells)是“反模式”(anti-patterns)的另一种说法,“反模式”是一种用于指代不良编码模式的术语。 在 Java 中,The Blob(a.k.a God Objects)代表了一种常被引用的反模式。 通过对这 925 个应用举办说明,发明 109 个应用至少有一个版本是行使 Kotlin 说话写的,个中又有 35% 的应用只行使 Kotlin 说话。在包罗 Java 代码和 Kotlin 代码的应用中,较近的版本中 Kotlin 代码比例进步而 Java 代码降落。 然后说明代码质量: 面向工具(OO)的反模式包罗:Blob Class(BLOB),Swiss Army Knife(SAK),Long Method(LM)和 Complex Class(CC)。 Android 反模式包罗:重型广播吸取器(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 应用中,个中 OO “异味”在 Kotlin 应用更为常见。但研究者发明,在这 Android“异味”中,Java 比 Kotlin 更轻易受到三种“异味”的影响。 研究者还在论文中提到,Kotlin 的回收使得至少 50% 的 Android 应用措施的质量进步了。因此以为,Kotlin 的代码质量更高。 其它,这两位研究员也较量了 Objective-C 应用措施和 Swift 应用措施,功效发明 Android 应用措施的非常值高于 iOS 应用措施,感乐趣的同窗可以看这里:
【编辑保举】
点赞 0 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |