大发彩神网址多少Kotlin 普及度增加,代码质量比 Java 更高?

  • 时间:
  • 浏览:57

法国 大发彩神网址多少valenciennes 大学的计算大发彩神网址多少机科学家 Bruno Gois Mateus 和 Matias Martinez 发表了一篇论文《An Empirical Study on Quality of Android Applications written in Kotlin language》,对用 Kotlin 编写的 Android 守护进大发彩神网址多少程运行运行的质量进行了研究。

作者:达尔文来源:开源中国|2018-08-20 08:39

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 守护进程运行运行的质量进行了研究。

论文原文:

  • https://arxiv.org/pdf/160 8.00025.pdf

亲戚他们在论文中描述了何如从开源应用商店 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 的采用使得为宜 60 % 的 Android 守护进程运行运行的质量提高了。而且 认为,Kotlin 的代码质量更高

另外,这两位研究员也比较了 Objective-C 守护进程运行运行和 Swift 守护进程运行运行,结果发现 Android 守护进程运行运行的异常值高于 iOS 守护进程运行运行,感兴趣的同学都要看这里:

  • https://hal.inria.fr/hal-01471294/document

【编辑推荐】

【责任编辑:

张燕妮

TEL:(010)6847660 6】



点赞 0