SmartNews 使用 Kotlin 减少了 20% 的代码行并提升了团队士气

SmartNews 通过分享来自各种新闻来源的及时新闻,帮助数百万人每天发现他们的世界。该公司成立于 2012 年的日本,现在在全球拥有超过 5000 万次下载量。

2019 年 6 月,该团队看到 Android 开发正在转向 Kotlin 优先,并决定开始自己测试 Kotlin。他们希望利用 Kotlin 优先的 Jetpack 库,减少他们需要维护的代码量,并受益于 Kotlin 的表达性和易于理解的语法。

他们做了什么

SmartNews 的团队精通 Java,因此他们开始用 Kotlin 编写代码相当容易。由于 Kotlin 与 Java 100% 互操作,他们可以轻松地开始用 Kotlin 编写新功能,例如 天气雷达和来自各方新闻,同时在现有代码库中工作。他们使用协程来管理专利天气雷达功能中的图像下载和缓存。协程调度程序为管理任务提供了有用的抽象,这帮助 SmartNews 工程师避免了管理原始线程带来的陷阱。

该团队还重构了部分 Java 代码,并对 Kotlin 的空安全功能印象深刻。Kotlin 用于识别可变性、可空性和初始化的语法帮助团队尽早发现错误,并且 **将代码更改审查的时间减少了 10%**。利用 Kotlin 简洁高效的语法,他们还能够提高代码库的可读性,这使得他们的代码在公司不断发展过程中更容易维护。

结果

使用 Kotlin 编写代码**提高了他们从实现到发布的整体生产力**。他们观察到的最大改进是,使用 Kotlin 编写代码**将转换后的代码行减少了 20%**。目前,SmartNews 应用大约有一半是用 Kotlin 编写的,开发团队计划用 Kotlin 编写所有新功能,并重构一些现有代码,以继续提高代码可维护性。

随着开发团队实施 Kotlin 并减少样板代码,他们注意到**团队士气提高了**。团队很高兴能够以更有效的方式表达他们的想法,并使他们的代码在未来更容易阅读。SmartNews 的工程经理 Hideo Ohashi 发现**Kotlin 有助于他们的工程招聘工作**。“候选人最常问的问题是“你们使用 Kotlin 吗?你们使用它多久了?”看来现在很多工程师都对迁移到 Kotlin 感兴趣并希望支持它。” 虽然团队士气和招聘的这些改进并不是团队采用 Kotlin 的主要原因,但这些积极的变化将帮助公司在竞争激烈的行业中继续发展。

入门

了解更多关于使用 Kotlin 开发 Android 应用的信息。