「科技小辛辛」30-90%!多邻国从 Java 迁移到 Kotlin 的奇妙体验,代码行数减少( 二 )
虽然移植代码对于我们的Android平台工程师来说不是问题 , 但对于我们的产品团队来说可能会相对困难 。 我们鼓励产品团队的开发人员在空闲时间迁移经常修改的代码 , 还通过每天的排行榜比赛来游戏化这个过程 。 最终 , 产品团队的开发人员担起了一半的工作量 。
绊脚石
Kotlin的工具生态系统比Java的要小得多 。 尽管如此 , 它已经足够满足我们的需求了 。
我们偶尔还是会遇到NullPointerException和IllegalArgumentException , 这些异常来自第三方Java依赖库(比如Android框架本身) , 它们没有遵循最佳实践 , 没有使用可空注解 , 以至于Kotlin编译器无法知道某些方法的参数或返回值可以为空 。 随着谷歌给它们的公共API加入注解 , 这种情况得到了改善 。
【「科技小辛辛」30-90%!多邻国从 Java 迁移到 Kotlin 的奇妙体验,代码行数减少】不过 , Kotlin仍然缺乏对一些Java特性的原生支持 , 包括不太常见的超类静态受保护方法调用和神秘的超类构造函数调用 , 但这类问题很容易解决 。
结果
在2018年初引入Kotlin之前 , 我们的Android代码库的代码行数每年增长46% 。 两年过去了 , 我们加入了很多新特性 , 活跃的贡献者数量增加了一倍多 , 而我们的代码库现在几乎只和以前一样大!
根据NPS数据 , 这一次Android开发人员的满意度增加了129个点 , 大多数开发人员认为是采用Kotlin(以及我们的工具)起到了主要作用 。 NPS的数据具体为:
https://en.wikipedia.org/wiki/Net_Promoter
我们现在也同时使用Python和Java作为后端服务开发语言 , 这几乎不需要额外的工作量 , 因为我们可以重用现有服务中的Java代码和Android代码库中的Kotlin工具 。
总的来说 , 在迁移到Kotlin之后 , 我们感到非常开心 。 我们也很高兴能够看到它在我们的公司内部和整个软件行业中的采用率不断增长!
关注我并转发此篇文章 , 私信我“领取资料” , 即可免费获得InfoQ价值4999元迷你书!
推荐阅读
- 小米科技▲卢伟冰再次发力,全球首发骁龙768G,5G新机将在两天后发布!
- 快科技最贵或达5000元,苹果头戴耳机更多细节曝光:包含两款
- 科技迷7nm版年底流片,要放弃美国代工?国产x86转向三星台积电代工
- 骊微电子科技PD充电器应用方案,PN8161+PN8307H高集成18W
- 快科技小米高管都是外人?雷军透露了一个秘密
- 靓科技解读Thing,a16z、5.15亿美金的数据加密股票基金:找寻下一个Big
- 王伯伯说科技流畅用三年,即将开学的学生党准备好了吗?三款高配低价千元机
- 知叔达科技中芯国际早已料到,成功绕开了光刻机,怒了!荷兰ASML再次失约
- 小熊带你玩科技数据成粤企生产新要素,工业互联网深调研〡从经验依赖到数据驱动
- 每日科技果粉大批华人再掀归国潮,美利坚的钱“不香了”?,硅谷科技人才流失