Java到Kotlin Java to Kotlin: A Refactoring Guidebook

Duncan Mc Gregor,Nat Pryce 譯 楊志橋//李偉曄//陳亮//李傳武

商品描述

本書講述了如何從Java過渡到Kotlin,主要關注代碼,
每章都闡述了從Java過渡到Kotlin的一個方面,考察了典型Java項目在這個過程中可以改進的方面。
比如,從Optional到nullable,從Bean到值,從開放類到密封類。
每章首先解釋關鍵概念,然後展示如何在保持互操作性的前提下,
逐步且安全地將生產型Java代碼重構為慣用的Kotlin代碼,由此產生的代碼更簡單、更有表現力,也更容易修改。
在本書結束時,你將有信心將Java代碼重構為Kotlin代碼,從頭開始編寫Kotlin代碼,並隨著時間的推移管理一個混合語言代碼庫。

目錄大綱

目錄
前言
第1章 引言
1.1 程式語言的“紋理”
1.2 Java程式設計風格的主觀歷史
1.3 Kotlin的“紋理”
1.4 重構為Kotlin
1.5 我們要做什麼
1.6 啟程
第2章 從Java專案到Kotlin項目
2.1 策略
2.2 在Java建置中加入對Kotlin的支持
2.3 繼續前進
第3章 從Java類到Kotlin類
3.1 一個簡單的值類型
3.2 資料類的局限性
3.3 繼續前進
第4章 從Optional到nullable
4.1 表示缺失
4.2 從Optional重構為nullable
4.3 重構為慣用的Kotlin程式碼
4.4 繼續前進
第5章 從Bean到值
5.1 Bean
5.2 值
5.3 為什麼值類型較受歡迎
5.4 將Bean重構為值
5.5 繼續前進
第6章 從Java集合到Kotlin集合
6.1 Java集合
6.2 Kotlin集合
6.3 將Java集合重構為Kotlin集合
6.4 繼續前進
第7章 從action到calculation
7.1 函數
7.2 calculation
7.3 action
7.4 為什麼要關注action和calculation
7.5 為什麼選擇calculation
7.6 將action重構為calculation
7.7 繼續前進
第8章 從靜態方法到頂層函數
8.1 Java 中的靜態方法
8.2 Kotlin頂層函數、對象和伴生對象
8.3 將靜態方法重構為頂層函數
8.4 移到頂層
8.5 Kotlin化
8.6 繼續前進
第9章 從多表達式函數到單表達式函數
9.1 第1種方式:內聯
9.2 第2種方式:引入函數
9.3 第3種方式:使用let塊
9.4 第4種方式:後退一步
9.5 繼續前進
第10章 從函數到擴充函數
10.1 函數和方法
10.2 擴充函數
10.3 擴充和函數類型
10.4 擴充屬性
10.5 類型轉換
10.6 可空參數
10.7 可空接收器
10.8 泛型
10.9 作為方法的擴展函數
10.10 重構為擴展函數
10.11 繼續前進
第11章 從方法到屬性
11.1 欄位、存取器和屬性
11.2 如何選擇
11.3 可變屬性
11.4 重構為屬性
11.5 繼續前進
第12章 從函數到運算符
12.1 基礎類:Money
12.2 新增使用者定義的運算符
12.3 從現有Kotlin程式碼中呼叫運算符
12.4 現有Java類別的運算符
12.5 表示值的約定
12.6 繼續前進
第13章 從流到可迭代物件再到序列
13.1 Java流
13.2 Kotlin可迭代對象
13.3 Kotlin序列
13.4 多重迭代
13.5 在流、可迭代物件和序列之間進行選擇
13.6 代數變換
13.7 將流重構為可迭代物件和序列
13.8 繼續前進
第14章 從可累積物件到轉換對象
14.1 使用累加器進行參數計算
14.2 重構為基於不可變資料的函數
14.3 再來一次
14.4 豐富所發現的抽象
14.5 繼續前進
第15章 從封裝集合到型別別名
15.1 組合領域集合
15.2 具有其他屬性的集合
15.3 重構封裝集合
15.4 繼續前進
第16章 從介面到函數
16.1 物件導向的封裝
16.2 函數式封裝
16.3 Java中的函數類型
16.4 混合和匹配
16.5 物件導向和函數式的對比
16.6 耦合
16.7 物件導向還是函數式
16.8 Java的遺留問題
16.9 可追溯性
16.10 將介面重構為函數
16.11 繼續前進
第17章 從Mock到Map
17.1 用Map取代Mock
17.2 我們真的擺脫Mock了嗎
17.3 繼續前進
第18章 從開放類到密封類
18.1 多態性還是密封類
18.2 將介面轉換為密封類
18.3 繼續前進
第19章 從Throwing到Returning
19.1 異常前的錯誤處理
19.2 異常的錯誤處理
19.3 Java和受檢異常
19.4 Kotlin和異常
19.5 超越異常:函數式錯誤處理
19.6 Kotlin中的錯誤處理
19.7 將異常重構為錯誤
19.8 更多修復
19.9 層級
19.10 繼續前進
第20章 從執行I/O操作到傳遞數據
20.1 監聽測試
20.2 從I/O到數據
20.3 高效率寫入
20.4 高效率讀取
20.5 繼續前進
第21章 從異常到值
21.1 辨識可能出錯的地方
21.2 表示錯誤
21.3 I/O錯誤
21.4 繼續前進
第22章 從類別到函數
22.1 驗收測試
22.2 單元測試
22.3 標題
22.4 不同的字段分隔符
22.5 序列
22.6 從檔案中讀取
22.7 與Commons CSV比較
22.8 繼續前進
第23章 繼續旅程
23.1 紋理
23.2 函數式思維
23.3 簡單設計
23.4 函數式程式設計與文本推理
23.5 重構
23.6 重構與函數式思維
參考文獻