Google Play:SmartNews 使用 Kotlin 將代碼行縮減了 20% 并提升了團隊士氣

來源: Google Developers
作者:Google Developers
時間:2021-02-04
17027
SmartNews通過分享來自各家新聞媒體的實時新聞,每天幫助數(shù)百萬人探索世界。該公司于2012年在日本成立,目前在全球范圍內(nèi)的下載量已超過5000萬次。

SmartNews通過分享來自各家新聞媒體的實時新聞,每天幫助數(shù)百萬人探索世界。該公司于2012年在日本成立,目前在全球范圍內(nèi)的下載量已超過5000萬次。

smartnews-logo.png

2019年6月,SmartNews團隊注意到Android開發(fā)正在轉(zhuǎn)向采用“Kotlin優(yōu)先”方法,并決定開始自行測試Kotlin。他們想充分利用Kotlin優(yōu)先的Jetpack庫,減少必須維護的代碼量,并從Kotlin更具表達性且易于理解的語法中獲益。

他們做了什么

SmartNews團隊精通Java,因此開始使用Kotlin編寫代碼對他們來說很容易。由于Kotlin可完全與Java互操作,因此他們可以輕松地開始使用Kotlin編寫新功能(例如Weather Radar和News From All Sides),同時仍在現(xiàn)有代碼庫中執(zhí)行操作。他們使用協(xié)程來管理已獲專利的Weather Radar功能中的圖片下載和緩存。協(xié)程調(diào)度程序提供了一個實用的抽象函數(shù)來管理任務(wù),這可幫助SmartNews工程師避免管理原生線程時出現(xiàn)的陷阱。

該團隊還重構(gòu)了部分Java代碼,Kotlin的null安全功能給他們留下了深刻的印象。Kotlin用于識別可變性、是否可為null和初始化的語法幫助該團隊盡早發(fā)現(xiàn)了錯誤,并將審核代碼變更的時間縮短了10%。利用Kotlin簡潔高效的語法,他們還能夠增強其代碼庫的可讀性,從而在公司不斷發(fā)展壯大的同時讓其代碼更易于維護。

結(jié)果

采用Kotlin編寫代碼后,該團隊在從實現(xiàn)到發(fā)布的整個流程中的工作效率得到了提升。采用Kotlin編寫代碼后,該團隊將轉(zhuǎn)換后的代碼行縮減了20%,這是他們看到的一項最重大的改進。目前,SmartNews應(yīng)用中有一半的功能是采用Kotlin編寫的,開發(fā)團隊計劃用Kotlin編寫所有新功能,并重構(gòu)部分現(xiàn)有代碼以便繼續(xù)提高其代碼的可維護性。

開發(fā)團隊在實現(xiàn)Kotlin并減少樣板代碼的過程中發(fā)現(xiàn),團隊士氣得到了很大提升。團隊成員都非常興奮,因為他們能夠更高效地表達自己的想法,同時提高了代碼的可讀性,更便于日后閱讀。SmartNews的工程經(jīng)理Hideo Ohashi注意到,Kotlin對工程招募工作大有裨益?!皯?yīng)聘者最常提問的問題是‘貴公司使用Kotlin嗎?使用頻率是怎樣的?’現(xiàn)在,似乎很多工程師都有意遷移到Kotlin,并希望提供這方面的支持?!北M管團隊士氣的提高和在招募方面的改進并不是該團隊采用Kotlin的主要原因,但這些積極的改變將幫助該公司在這個競爭激烈的行業(yè)中不斷發(fā)展壯大。

開始使用

詳細了解使用Kotlin開發(fā)Android應(yīng)用。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Google Developers,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家