Kotlin 編程之美 The Joy of Kotlin
Pierre-Yves Saumont 關建峰延志偉耿光剛譯
- 出版商: 機械工業
- 出版日期: 2020-05-01
- 售價: $714
- 貴賓價: 9.5 折 $678
- 語言: 簡體中文
- 頁數: 376
- 裝訂: 平裝
- ISBN: 7111650409
- ISBN-13: 9787111650409
-
相關分類:
Functional-programming
- 此書翻譯自: The Joy of Kotlin
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
無瑕的程式碼 - 敏捷軟體開發技巧守則 (Clean Code: A Handbook of Agile Software Craftsmanship)$580$452 -
Android Gradle 權威指南$354$336 -
$403Android 組件化架構 -
產品路線圖|從革新到蛻變 (Product Roadmapping: Align Your Teams, and Deliver the Most to Your Customers and Stakeholders)$580$458 -
CODE COMPLETE:軟體開發實務指南, 2/e (中文版) (Code Complete: A Practical Handbook of Software Construction, 2/e)$1,280$998 -
$714Effective Java, 3/e (簡體中文版) -
瘋狂 Android 講義, 4/e$834$792 -
Kotlin 權威 2.0:Android 專家養成術 (Kotlin Programming: The Big Nerd Ranch Guide)$620$484 -
$446深入淺出:Java虛擬機設計與實現 -
Effective TypeScript 中文版|提昇 TypeScript 技術的 62個具體作法 (Effective TypeScript)$580$458 -
深入理解 Kotlin 協程$474$450 -
軟體架構原理|工程方法 (Fundamentals of Software Architecture: A Comprehensive Guide to Patterns, Characteristics, and Best Practices)$680$537 -
$407Docker 實戰, 2/e (Docker in Action, 2/e) -
資料密集型應用系統設計 (Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems)$980$774 -
架構師帶你做敏捷測試:在真正專案中應用$720$569 -
$714Spring Boot + Vue 開發實戰 -
Jetpack Compose:Android 全新 UI 編程$599$569 -
$760Android 高級圖形程序設計 (Pro Android Graphics) -
$403深入淺出 Android Jetpack -
並行計算與高性能計算$834$792 -
Jetpack Compose 從入門到實戰$654$621 -
大師級逆向神器 - Android Frida 協定剖析及應用$880$695 -
Android 開發秘辛大公開 (Androids: The Team That Built the Android Operating System)$600$474 -
精通無瑕程式碼:工程師也能斷捨離!消除複雜度、提升效率的 17個關鍵技法 (The Art of Clean Code: Best Practices to Eliminate Complexity and Simplify Your Life)$600$468 -
約耳趣談軟體 (Joel on Software)$580$458
商品描述
作為Java開發人員,維護糟糕的遺留代碼、解釋晦澀的註釋、
反復編寫相同的樣板文件可能會讓編程失去樂趣。
《Kotlin編程之美》講述用Kotlin編寫易於理解、易於維護、安全的程序的方法和技巧。
在本書中,經驗豐富的工程師皮埃爾-伊夫斯?索蒙特將以全新的、
以函數式編程的視角來處理常見的編程挑戰,並用示例深入講解如何正確處理錯誤和數據、
如何管理狀態以及如何利用惰性。
《Kotlin編程之美》的內容包括編程功能、處理可選數據、
安全處理錯誤和異常以及處理和共享狀態突變等。
《Kotlin編程之美》的讀者對象為中級Java或Kotlin開發人員、
高等院校計算機相關專業學生以及對安全編程感興趣的工程技術人員等。
目錄大綱
目錄
封面
譯者序
致謝
前言
關於本書
關於讀者
關於封面插圖
第1章讓程序更安全
1.1編程陷阱
1.1.1安全的處理作用
1.1.2用引用透明性使程序更安全
1.2安全編程的好處
1.2. 1使用替換模型對程序進行推理
1.2.2應用安全原則的簡單示例
1.2.3將抽象推向極限
1.3本章小結
第2章Kotlin中的函數式編程:概述
2.1 Kotlin中的字段和變量
2.1.1省略類型以簡化
2.1.2使用可變字段
2.1.3理解延遲初始化
2.2 Kotlin中的類和接口
2.2.1使代碼更加簡潔
2.2.2實現接口或擴展類
2.2.3實例化一個類
2.2.4重載屬性構造函數
2.2.5創建equals和hashCode方法
2.2.6解構數據對象
2.2.7在Kotlin中實現靜態成員
2.2.8使用單例模式
2.2.9防止工具類實例化
2.3 Kotlin沒有原語
2.4 Kotlin的兩種集合類型
2.5 Kotlin的包
2.6 Kotlin的可見性
2.7 Kotlin中的函數
2.7.1函數聲明
2.7.2使用局部函數
2.7.3覆蓋函數
2.7.4使用擴展函數
2.7. 5使用lamdba表達式
2.8 Kotlin中的null
2.8.1處理可空類型
2.8.2 Elvis和默認值
2.9程序流程和控制結構
2.9.1使用條件選擇器
2.9.2使用多條件選擇器
2.9.3使用循環
2.10 Kotlin的未檢查異常
2.11自動關閉資源
2.12 Kotlin的智能轉換
2.13相等性VS一致性
2.14字符串插值
2.15多行字符串
2.16型變:參數化類型和子類型
2.16.1為什麼型變是一個潛在的問題
2.16.2何時使用協變以及何時使用逆變
2.16.3聲明端型變與使用端型變
2.17本章小結
第3章用函數編程
3.1函數是什麼?
3.1.1理解兩個函數集之間的關係
3.1.2 Kotlin中反函數概述
3.1.3處理偏函數
3.1.4理解函數複合
3.1.5使用多參數函數
3.1.6柯裏化函數
3.1.7使用偏應用函數
3.1.8沒有作用的函數
3.2 Kotlin中的函數
3.2.1將函數理解為數據
3.2.2將數據理解為函數
3.2.3使用對象構造函數作為函數
3.2.4使用Kotlin的fun函數
3.2. 5使用對象表示法和函數表示法
3.2.6使用值函數
3.2.7使用函數引用
3.2.8複合函數
3.2.9重用函數
3.3高級函數特徵
3.3.1多參數函數如何?
3.3.2應用柯裏化函數
3.3.3實現高階函數
3.3.4創建多態高階函數
3.3.5使用匿名函數
3.3.6定義局部函數
3.3.7實現閉包
3.3.8應用偏函數和自動柯裏化
3.3.9切換偏應用函數的參數
3.3.10聲明單位函數
3.3.11使用正確的類型
3.4本章小結
第4章遞歸、尾遞歸和記憶化
4.1共遞歸與遞歸
4.1.1實現共遞歸
4.1.2實現遞歸
4.1.3區分遞歸函數和共遞歸函數
4.1.4選擇遞歸或尾遞歸
4.2尾調用消除
4.2.1使用尾調用消除
4.2.2從循環切換到共遞歸
4.2.3使用遞歸值函數
4.3遞歸函數和列表
4.3.1使用雙遞歸函數
4.3.2對列表抽象遞歸
4.3.3反轉列表
4.3 .4構建共遞歸列表
4.3.5嚴格的後果
4.4記憶化
4.4.1在基於循環的編程中使用記憶化
4.4.2在遞歸函數中使用記憶化
4.4.3使用隱式記憶化
4.4.4使用自動記憶化
4.4.5實現多參數函數的記憶化
4.5記憶函數純嗎?
4.6本章小結
第5章用列表處理數據
5.1如何對數據集合進行分類
5.2不同類型的列表
5.3相對期望列表性能
5.3.1用時間來交換內存空間和復雜性
5.3.2避免就地突變
5.4 KOTLIN有哪些可用列表?
5.4.1使用持久數據結構
5.4.2實現不可變的、持久的單鍊錶
5.5列表操作中的數據共享
5.6更多列表操作
5.6.1標註的益處
5.6.2連接列表
5.6 .3從列表末尾刪除
5.6.4使用遞歸對具有高階函數(HOFs)的列表進行折疊
5.6.5使用型變
5.6.6創建foldRight的一個棧安全遞歸版本
5.6.7映射和過濾列表
5.7本章小結
第6章處理可選數據
6.1空指針問題
6.2 Kotlin如何處理空引用
6.3空引用的替代方法
6.4使用OPTION類型
6.4.1從一個Option中獲取值
6.4.2將函數應用於可選值
6.4.3處理Option組合
6.4.4 Option用例
6.4.5其他組合選項的方法
6.4.6用Option組合List
6.4.7何時使用Option
6.5本章小結
第7章處理錯誤和異常
7.1數據缺失的問題
7.2 Either類型
7.3 Result類型
7.4 Result模式
7.5高級Result處理
7.6映射Failture
7.7添加工廠函數
7.8應用作用
7.9高級結果組合
7.10本章小結
第8章高級列表處理
8.1長度問題
8.2性能問題
8.3記憶化的好處
8.3.1處理記憶化的缺點
8.3.2評估性能改進
8.4 List和Result組成
8.4.1處理List返回Result
8.4.2從List轉換為Result
8.5常見列表抽象
8.5.1壓縮和解壓縮列表
8.5.2通過索引訪問元素
8.5.3列表分裂
8.5.4搜索子列表
8.5.5處理列表的其它函數
8.6列表的自動並行處理
8.6.1並不是所有的計算都可以並行化
8.6.2將列表分解為子列表
8.6.3並行處理子列表
8.7本章小結
第9章與惰性配合
9.1嚴格VS惰性
9.2 Kotlin和嚴格
9.3 Kotlin和惰性
9.4懶惰的實現
9.4.1組合惰性值
9.4.2提升函數
9.4.3映射和flatMapping惰性
9.4.4用列表組成惰性
9.4.5處理異
