中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >>
華章程序員書庫編程與類型系統/華章程序員書庫

包郵 華章程序員書庫編程與類型系統/華章程序員書庫

出版社:機械工業出版社出版時間:2021-01-01
開本: 16開 頁數: 298
中 圖 價:¥89.3(7.5折) 定價  ¥119.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>
買過本商品的人還買了

華章程序員書庫編程與類型系統/華章程序員書庫 版權信息

  • ISBN:9787111670513
  • 條形碼:9787111670513 ; 978-7-111-67051-3
  • 裝幀:一般膠版紙
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>>

華章程序員書庫編程與類型系統/華章程序員書庫 本書特色

適讀人群 :??想提高代碼質量的程序員 ??計算機專業的學生 ??想學習類型系統的讀者作為一名開發人員,在日常工作中巧妙地使用類型能夠寫出更好的代碼,提高查找與數據相關的棘手錯誤的效率。本書講解基于類型的技術,可用來編寫安全、正確和容易維護的軟件。這本清晰易懂的教程主要面向有一定編程經驗(如TypeScript、Java、JavaScript、C#或C++等主流編程語言使用經驗)的開發人員,側重于介紹類型系統為日常編程工作帶來的實用好處。通過學習使用TypeScript編寫的真實示例,你將全面了解類型系統在編程中的應用技巧。

華章程序員書庫編程與類型系統/華章程序員書庫 內容簡介

本書全面介紹類型系統的特性,從基本類型開始,一直介紹到函數類型和子類型、OOP、泛型編程和高階類型(如函子和單子)。本書沒有關注這些特性背后的理論,而是通過實際應用的方式來解釋每種特性。本書說明了如何以及何時使用每種特性來改進代碼。

華章程序員書庫編程與類型系統/華章程序員書庫 目錄

第1章 類型簡介1

1.1 為什么存在類型2

1.1.1 0和12

1.1.2 類型和類型系統的定義3

1.2 類型系統的優點4

1.2.1 正確性5

1.2.2 不可變性6

1.2.3 封裝8

1.2.4 可組合性9

1.2.5 可讀性11

1.3 類型系統的類型12

1.3.1 動態類型和靜態類型12

1.3.2 弱類型與強類型13

1.3.3 類型推斷15

小結15


第2章 基本類型17

2.1 設計不返回值的函數17

2.1.1 空類型18

2.1.2 單元類型20

2.1.3 習題21

2.2 布爾邏輯和短路21

2.2.1 布爾表達式22

2.2.2 短路計算22

2.2.3 習題24

2.3 數值類型的常見陷阱24

2.3.1 整數類型和溢出25

2.3.2 浮點類型和圓整28

2.3.3 任意大數30

2.3.4 習題31

2.4 編碼文本31

2.4.1 拆分文本31

2.4.2 編碼32

2.4.3 編碼庫34

2.4.4 習題36

2.5 使用數組和引用構建數據結構36

2.5.1 固定大小數組36

2.5.2 引用37

2.5.3 高效列表38

2.5.4 二叉樹40

2.5.5 關聯數組43

2.5.6 實現時的權衡44

2.5.7 習題44

小結44

習題答案45


第3章 組合46

3.1 復合類型47

3.1.1 元組47

3.1.2 賦予意義49

3.1.3 維護不變量50

3.1.4 習題53

3.2 使用類型表達多選一53

3.2.1 枚舉53

3.2.2 可選類型55

3.2.3 結果或錯誤57

3.2.4 變體62

3.2.5 習題65

3.3 訪問者模式65

3.3.1 簡單實現66

3.3.2 使用訪問者模式67

3.3.3 訪問變體69

3.3.4 習題71

3.4 代數數據類型71

3.4.1 乘積類型71

3.4.2 和類型72

3.4.3 習題72

小結73

習題答案74


第4章 類型安全75

4.1 避免基本類型偏執來防止錯誤解釋76

4.1.1 火星氣候探測者號77

4.1.2 基本類型偏執反模式79

4.1.3 習題79

4.2 實施約束80

4.2.1 使用構造函數實施約束80

4.2.2 使用工廠實施約束81

4.2.3 習題82

4.3 添加類型信息82

4.3.1 類型轉換82

4.3.2 在類型系統之外跟蹤類型83

4.3.3 常見類型轉換86

4.3.4 習題89

4.4 隱藏和恢復類型信息89

4.4.1 異構集合90

4.4.2 序列化92

4.4.3 習題95

小結96

習題答案96


第5章 函數類型98

5.1 一個簡單的策略模式99

5.1.1 函數式策略100

5.1.2 函數的類型101

5.1.3 策略實現102

5.1.4 一等函數102

5.1.5 習題103

5.2 不使用switch語句的狀態機103

5.2.1 類型編程小試牛刀104

5.2.2 狀態機106

5.2.3 回顧狀態機實現111

5.2.4 習題112

5.3 使用延遲值避免高開銷的計算112

5.3.1 lambda113

5.3.2 習題115

5.4 使用map、filter和reduce115

5.4.1 map()115

5.4.2 filter()117

5.4.3 reduce()119

5.4.4 庫支持122

5.4.5 習題123

5.5 函數式編程123

小結123

習題答案124


第6章 函數類型的高級應用126

6.1 一個簡單的裝飾器模式126

6.1.1 函數裝飾器128

6.1.2 裝飾器實現130

6.1.3 閉包130

6.1.4 習題131

6.2 實現一個計數器131

6.2.1 一個面向對象的計數器132

6.2.2 函數式計數器133

6.2.3 一個可恢復的計數器134

6.2.4 回顧計數器實現135

6.2.5 習題135

6.3 異步執行運行時間長的操作135

6.3.1 同步執行136

6.3.2 異步執行:回調136

6.3.3 異步執行模型137

6.3.4 回顧異步函數141

6.3.5 習題141

6.4 簡化異步代碼142

6.4.1 鏈接promise143

6.4.2 創建promise144

6.4.3 關于promise的更多信息146

6.4.4 async/await150

6.4.5 回顧整潔的異步代碼152

6.4.6 習題152

小結153

習題答案153


第7章 子類型155

7.1 在TypeScript中區分相似的類型156

7.1.1 結構和名義子類型的優缺點158

7.1.2 在TypeScript中模擬名義子類型159

7.1.3 習題160

7.2 子類型的極端情況160

7.2.1 安全的反序列化160

7.2.2 錯誤情況的值164

7.2.3 回顧頂層和底層類型167

7.2.4 習題168

7.3 允許的替換168

7.3.1 子類型與和類型169

7.3.2 子類型和集合171

7.3.3 子類型和函數的返回類型172

7.3.4 子類型和函數實參類型174

7.3.5 回顧可變性178

7.3.6 習題178

小結179

習題答案179


第8章 面向對象編程的元素181

8.1 使用接口定義契約182

8.2 繼承數據和行為185

8.2.1 “是一個”經驗準則185

8.2.2 建模層次186

8.2.3 參數化表達式的行為187

8.2.4 習題188

8.3 組合數據和行為189

8.3.1 “有一個”經驗準則189

8.3.2 復合類190

8.3.3 實現適配器模式192

8.3.4 習題194

8.4 擴展數據和行為194

8.4.1 使用組合擴展行為195

8.4.2 使用混入擴展行為197

8.4.3 TypeScript中的混入198

8.4.4 習題199

8.5 純粹面向對象代碼的替代方案199

8.5.1 和類型200

8.5.2 函數式編程202

8.5.3 泛型編程203

小結204

習題答案204


第9章 泛型數據結構206

9.1 解耦關注點207

9.1.1 可重用的恒等函數208

9.1.2 可選類型210

9.1.3 泛型類型211

9.1.4 習題211

9.2 泛型數據布局212

9.2.1 泛型數據結構212

9.2.2 什么是數據結構213

9.2.3 習題214

9.3 遍歷數據結構214

9.3.1 使用迭代器216

9.3.2 流線化迭代代碼220

9.3.3 回顧迭代器225

9.3.4 習題226

9.4 數據流226

9.4.1 處理管道227

9.4.2 習題228

小結228

習題答案229


第10章 泛型算法和迭代器232

10.1 更好的map()、filter()和reduce()233

10.1.1 map()233

10.1.2 filter()234

10.1.3 reduce()234

10.1.4 filter()/reduce()管道235

10.1.5 習題236

10.2 常用算法236

10.2.1 使用算法代替循環237

10.2.2 實現流暢管道237

10.2.3 習題241

10.3 約束類型參數241

10.3.1 具有類型約束的泛型數據結構242

10.3.2 具有類型約束的泛型算法243

10.3.3 習題245

10.4 高效reverse和其他使用迭代器的算法245

10.4.1 迭代器的基礎模塊247

10.4.2 有用的find()251

10.4.3 高效的reverse()254

10.4.4 高效地獲取元素257

10.4.5 回顧迭代器259

10.4.6 習題260

10.5 自適應算法260

小結262

習題答案263


第11章 高階類型及其他266

11.1 更加通用的map267

11.1.1 處理結果或傳播錯誤270

11.1.2 混搭函數的應用272

11.1.3 函子和高階類型273

11.1.4 函數的函子276

11.1.5 習題277

11.2 單子277

11.2.1 結果或錯誤277

11.2.2 map()與bind()的區別282

11.2.3 單子模式284

11.2.4 continuation單子285

11.2.5 列表單子286

11.2.6 其他單子288

11.2.7 習題288

11.3 繼續學習289

11.3.1 函數式編程289

11.3.2 泛型編程289

11.3.3 高階類型和范疇論289

11.3.4 從屬類型290

11.3.5 線性類型290

小結290

習題答案291

附錄A TypeScript的安裝及本書的源代碼293

附錄B TypeScript速覽表295


展開全部

華章程序員書庫編程與類型系統/華章程序員書庫 作者簡介

弗拉德.里斯庫迪亞(Vlad Riscutia) Microsoft的首席軟件架構師,領導開發了幾個大型軟件項目,并指導了許多初級軟件工程師。曾管理Office授權團隊,包括將Office授權棧重新設計為基于服務的模型,集成Windows開箱即用體驗,并發布Office 2019。

商品評論(0條)
暫無評論……
書友推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 学叉车培训|叉车证报名|叉车查询|叉车证怎么考-工程机械培训网 | 苏州伊诺尔拆除公司_专业酒店厂房拆除_商场学校拆除_办公楼房屋拆除_家工装拆除拆旧 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 旋转气浴恒温振荡器-往复式水浴恒温振荡器-金怡百科 | 浇注料-高铝砖耐火砖-郑州凯瑞得窑炉耐火材料有限公司 | 婚博会2024时间表_婚博会门票领取_婚博会地址-婚博会官网 | 阿米巴企业经营-阿米巴咨询管理-阿米巴企业培训-广东键锋企业管理咨询有限公司 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 考勤系统_考勤管理系统_网络考勤软件_政企|集团|工厂复杂考勤工时统计排班管理系统_天时考勤 | 陕西鹏展科技有限公司| 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 广州迈驰新GMP兽药包装机首页_药品包装机_中药散剂包装机 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | PE一体化污水处理设备_地埋式生活污水净化槽定制厂家-岩康塑业 | 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | 飞行者联盟-飞机模拟机_无人机_低空经济_航空技术交流平台 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 冻干机(冷冻干燥机)_小型|实验型|食品真空冷冻干燥机-松源 | 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 软文发布平台 - 云软媒网络软文直编发布营销推广平台 | 航空铝型材,7系铝型材挤压,硬质阳*氧化-余润铝制品 | 医养体检包_公卫随访箱_慢病随访包_家签随访包_随访一体机-济南易享医疗科技有限公司 | 美能达分光测色仪_爱色丽分光测色仪-苏州方特电子科技有限公司 | 东莞市超赞电子科技有限公司 全系列直插/贴片铝电解电容,电解电容,电容器 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 杭州代理记账多少钱-注册公司代办-公司注销流程及费用-杭州福道财务管理咨询有限公司 | 奥运星-汽车性能网评-提供个性化汽车资讯| 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 上海赞永| 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 北京模型公司-工业模型-地产模型-施工模型-北京渝峰时代沙盘模型制作公司 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 讲师宝经纪-专业培训机构师资供应商_培训机构找讲师、培训师、讲师经纪就上讲师宝经纪 | 郑州律师咨询-郑州律师事务所_河南锦盾律师事务所 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 |