您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Kotlin 普及度添加,代码质量比 Java 更高?
    时间:2018-08-20 08:48 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    技术沙龙 | 邀您于8月25日与国美/AWS/转转三位专家共同讨论小顺序电商实战

    Kotlin 普及度添加,代码质量比 Java 更高?

    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 普及度添加,代码质量比 Java 更高?

    研讨者还在论文中提到,Kotlin 的采用使得至少 50% 的 Android 运用顺序的质量提高了。因此以为,Kotlin 的代码质量更高

    另外,这两位研讨员也比较了 Objective-C 运用顺序和 Swift 运用顺序,结果发现 Android 运用顺序的异常值高于 iOS 运用顺序,感兴味的同窗可以看这里:

    【编辑引荐】

    Java 开发新选择?Apache NetBeans IDE 9.0 备受好评

    外媒速递:2018年,你不容错过的六本Kotlin论著

    顺序员马路上写代码被偷拍 网友:为什么非要在车流中改代码

    谷歌发布 Google I/O 2018 Android App 的源代码

    官方提供在 NetBeans 9 中启用对 Java EE 支持的办法

    (责任编辑:admin)