Google Home 應用團隊將因首要原因導致的崩潰次數減少了 33%,download google play store apps
Google Home 應用團隊將因首要原因導致的崩潰次數減少了 33%
Google Home應用可幫助您設置、管理和控制您的Google Home、Google Nest和Chromecast設備以及數千種智能互聯家居產品(如燈具、攝像頭、恆溫器等等)。
Google Home應用背後的工程團隊使用Kotlin和Android Jetpack庫來提升工程生產力和開發者滿意度,這讓他們受益良多。
他們做了什麼
Google Home團隊決定將Kotlin整合到代碼庫中,以提升編程效率,並使用現代語言功能(如var/val、智能投射、協程等)。截至2020年6月,30%左右的代碼庫是使用Kotlin編寫的,我們建議使用Kotlin來開發所有新功能。
該團隊還採用Jetpack庫來提高開發者的速度、降低對樣板代碼維護的需求並減少必要的代碼量。Jetpack庫還有助於提高代碼的可測試性,因爲有更清晰的功能邊界和API。
結果
“Kotlin可助您提高工作效率,讓您編寫更少的代碼來實現更多的功能,這就是您可實現的‘速度’提升。”Jared Burrows,Google Home的軟件工程師
與等效的現有Java代碼相比,改用Kotlin可以減少所需的代碼量。例如,使用數據類和Parcelize插件:一個在使用Java時需要手動編寫126行代碼的類,現在使用Kotlin只需編寫23行,代碼量減少了80%。此外,還可以自動生成並及時更新均衡和解析方法。使用Kotlin中提供的實用方法,還可以簡化許多嵌套循環和過濾檢查。
由於Kotlin可以將是否可爲null作爲語言的一部分,因此可以避免棘手的情況,例如在Java中不一致地使用是否可爲null註釋可能會導致遺漏錯誤。實現Kotlin後,Google Home應用團隊遇到的NullPointerExceptions減少了33%。這是Google Play管理中心中最常見的崩潰類型,因此減少此類崩潰可以顯著提升用戶體驗。
對於Google Home之類的大型成熟應用(代碼超過數百萬行),能夠逐步添加Jetpack庫會很有幫助。納入這些庫後,該團隊可以整合並替換量身定製的解決方案,有時甚至只需要一個庫。Jetpack庫可幫助工程師遵循最佳做法,並且編寫更簡潔的代碼(例如,使用Room或ConstraintLayout),因此可讀性也有所提高。該團隊將許多新的Jetpack庫視爲“必備庫”,包括ViewModel和LiveData,它們在Google Home代碼庫中得到廣泛使用。
Google Home應用團隊發現將Jetpack KTX與Kotlin協程集成特別有用。該團隊現在可以將協程與生命週期感知型組件(如ViewModel)結合使用,從而避免複雜的異步編程錯誤。
開始使用
詳細瞭解使用Kotlin開發Android應用以及Android Jetpack庫使用入門。
文章推薦
Azure Blob 存儲的訪問層 熱、冷和存檔,azureblob官方文檔
Google Adwords廣告投放技巧彙總,google廣告投放操作步驟視頻
Azure存儲簡介,azure數據存儲在哪裏
Google Analytics(分析)社交媒體報告如何幫助改善營銷危機反應,google analytics 事件
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關於作品內容、版權或其它問題請於作品發表後的30日內與ESG跨境電商聯繫。