<b>本文講的是[譯] 将 Kotlin 應用于現有 Java 代碼的政策,</b>
<b></b>

一個還會不斷增長的趨勢。
既然這個問題的答案是毫無争議的肯定,我意識到另一個問題在浮現出來:開始使用 Kotlin 應該采取什麼樣的步驟?
本文旨在向那些困惑從何開始或尋求靈感的人們提供一些自己的想法。
是的,我知道測試是有限制性的。單元測試确切是指:你所測試的(是)獨立單元和子產品。當你所擁有的一切隻是一群單獨的類和可能的少量輔助類時,開發複雜的架構網是很困難的。但是這是一種對新語言建立認知和拓展的非常廉價和高效的方法。
我所聽到的一個最常見的反對 Kotlin 的觀點是,要避免在生産環境中部署 Kotlin 代碼。雖然在我看來這是一種非常有偏見的觀點,我想向你強調的是,如果你從測試開始,沒有任何代碼會被實際部署(到生産環境)。取而代之的是,這些代碼可能會在你的持續內建環境中被使用,而這也是一種拓展知識的方式。
這是你希望發起的 PR。
在這之後,開始遷移單一類。可能是類似 LanguageHelper 或 Utils 這樣的類。雖然它們在很多地方被調用,但這種類一般隻提供一些影響和依賴關系很有限的功能。
在某個時間節點,你會感覺解決架構中那些更加龐大和核心的類已經足夠舒适了。不要害怕。請特别注意可為空(nullability),這是 Kotlin 中最為重要的特性之一。如果你已經進行了很多年的 Java 程式設計的話,它需要你用一種新的思維方式。但請相信我,新的程式設計範式最終會在你的頭腦中形成。
記住:你不需要強制遷移整個代碼庫。Kotlin 和 Java 可以無縫互動,現在你并不需要讓代碼庫 100% 由 Kotlin 組成。當你感覺到足夠舒适的時候再去做它。
到這個階段你一定可以開始用 Kotlin 編寫所有的新代碼了。把這當成過去的事,不要總是回看。當你開始用純 Kotlin 編寫第一個功能時,除了在上面提到過的可為空(nullability),你還需要對預設參數多加注意。更多的考慮擴充功能,而不是繼承。發起拉取請求(Pull Request)和代碼審查,和你的同僚讨論如何能夠進一步完善。
最後的建議,享受吧!
下面所列的是我曾經嘗試過并且可以推薦的學習 Kotlin 的資源連結。我特别喜歡書籍,盡管有些人讨厭它們。我發現把它們大聲讀出來是很重要的,同時在電腦上進行編寫和練習的話對于知識的沉澱更有幫助。
<b>原文釋出時間為:2017年7月13日</b>
<b>本文來自雲栖社群合作夥伴掘金,了解相關資訊可以關注掘金網站。</b>