91精品国产综合久久四虎久久_国产成人午夜高潮毛片_99er视频精品免费观看_2020亚洲熟女在线观看_日本女优人体写真_国内黄色毛片_年轻的老师中文版在线_丰满女邻居做爰_久久久久久精品成人免费图片

 
健壯的Python
健壯的Python
Patrick Viafore
姚文杰, 周偉, 梁凌銳, 楊凌云 譯
出版時(shí)間:2023年03月
頁數(shù):316
你的Python項(xiàng)目是否正在變得越來越龐大?隨著代碼的擴(kuò)展,調(diào)試和維護(hù)工作變得更加艱難,你是否感到痛苦?Python是一種容易學(xué)習(xí)和使用的語言,但這也意味著系統(tǒng)可以迅速發(fā)展到無法理解的程度。值得慶幸的是,Python具有幫助開發(fā)者克服可維護(hù)性困境的功能。
在這本實(shí)用的書中,作者Patrick Viafore將告訴你如何最大限度地使用 Python的類型系統(tǒng)。你將看到用戶定義的類型(如類和枚舉),以及Python的類型提示系統(tǒng)。你還將學(xué)習(xí)如何使Python代碼具有可擴(kuò)展性,以及如何基于一個(gè)全面的測試策略構(gòu)建安全網(wǎng)。利用這些知識(shí)和技術(shù),你將編寫更清晰、更易于維護(hù)的代碼。
通過學(xué)習(xí)本書,你將:
● 了解為什么類型在現(xiàn)代開發(fā)生態(tài)系統(tǒng)中是必不可少的。
● 了解類、字典和枚舉等類型選擇是如何反映特定意圖的。
● 在不加劇臃腫的情況下使Python代碼在未來可擴(kuò)展。
● 使用流行的Python工具來提高代碼庫的安全性和健壯性。
● 評(píng)估當(dāng)前的代碼以檢測常見的可維護(hù)性問題。
● 通過linter和測試構(gòu)建代碼庫的安全網(wǎng)。
  1. 第1章 健壯的Python簡介
  2. 1.1 健壯性
  3. 1.2 你的意圖是什么
  4. 1.3 Python中的意圖示例
  5. 1.3.1 集合
  6. 1.3.2 迭代
  7. 1.3.3 最小驚訝原則
  8. 1.4 小結(jié)
  9. 第一部分 為代碼添加類型注解
  10. 第2章 Python類型簡介
  11. 2.1 類型中有什么
  12. 2.1.1 機(jī)器表達(dá)
  13. 2.1.2 語義表達(dá)
  14. 2.2 類型系統(tǒng)
  15. 2.2.1 強(qiáng)類型與弱類型
  16. 2.2.2 動(dòng)態(tài)類型與靜態(tài)類型
  17. 2.2.3 鴨子類型
  18. 2.3 小結(jié)
  19. 第3章 類型注解
  20. 3.1 什么是類型注解
  21. 3.2 類型注解的好處
  22. 3.2.1 自動(dòng)補(bǔ)全
  23. 3.2.2 類型檢查器
  24. 3.2.3 練習(xí):找出bug
  25. 3.3 什么時(shí)候使用類型注解
  26. 3.4 小結(jié)
  27. 第4章 約束類型
  28. 4.1 Optional類型
  29. 4.2 Union類型
  30. 4.3 Literal類型
  31. 4.4 Annotated類型
  32. 4.5 NewType
  33. 4.6 Final類型
  34. 4.7 小結(jié)
  35. 第5章 集合類型
  36. 5.1 向集合添加類型注解
  37. 5.2 同構(gòu)集合與異構(gòu)集合
  38. 5.3 向字典添加類型
  39. 5.4 創(chuàng)建新的集合類型
  40. 5.4.1 泛型
  41. 5.4.2 修改現(xiàn)有的類型
  42. 5.4.3 像ABC一樣簡單
  43. 5.5 小結(jié)
  44. 第6章 自定義你的類型檢查器
  45. 6.1 配置類型檢查器
  46. 6.1.1 配置mypy
  47. 6.1.2 mypy報(bào)告
  48. 6.1.3 加速mypy
  49. 6.2 其他類型檢查器
  50. 6.2.1 Pyre
  51. 6.2.2 Pyright
  52. 6.3 小結(jié)
  53. 第7章 采用類型檢查的實(shí)踐
  54. 7.1 權(quán)衡利弊
  55. 7.2 早日實(shí)現(xiàn)投入產(chǎn)出平衡
  56. 7.2.1 找到你的痛點(diǎn)
  57. 7.2.2 從戰(zhàn)略上選擇目標(biāo)代碼
  58. 7.2.3 依靠工具
  59. 7.3 小結(jié)
  60. 第二部分 定義你自己的類型
  61. 第8章 用戶自定義類型:枚舉
  62. 8.1 用戶自定義類型
  63. 8.2 枚舉
  64. 8.2.1 Enum
  65. 8.2.2 何時(shí)不使用
  66. 8.3 高級(jí)用法
  67. 8.3.1 自動(dòng)分配值
  68. 8.3.2 Flag
  69. 8.3.3 整數(shù)轉(zhuǎn)換
  70. 8.3.4 唯一性
  71. 8.4 小結(jié)
  72. 第9章 用戶自定義類型:數(shù)據(jù)類
  73. 9.1 數(shù)據(jù)類實(shí)戰(zhàn)
  74. 9.2 用法
  75. 9.2.1 字符串轉(zhuǎn)換
  76. 9.2.2 相等性
  77. 9.2.3 關(guān)聯(lián)性比較
  78. 9.2.4 不變性
  79. 9.3 與其他類型的比較
  80. 9.3.1 數(shù)據(jù)類與字典
  81. 9.3.2 數(shù)據(jù)類與TypedDict
  82. 9.3.3 數(shù)據(jù)類與命名元組
  83. 9.4 小結(jié)
  84. 第10章 用戶自定義類型:類
  85. 10.1 類的剖析
  86. 10.2 不變量
  87. 10.2.1 避免損壞的不變量
  88. 10.2.2 為什么不變量是有益的
  89. 10.2.3 溝通不變量
  90. 10.2.4 消費(fèi)你的類
  91. 10.2.5 維護(hù)者怎么辦
  92. 10.3 封裝和維護(hù)不變量
  93. 10.3.1 封裝
  94. 10.3.2 保護(hù)數(shù)據(jù)訪問
  95. 10.3.3 操作
  96. 10.4 小結(jié)
  97. 第11章 定義你的接口
  98. 11.1 自然接口設(shè)計(jì)
  99. 11.2 自然的交互
  100. 11.2.1 自然接口實(shí)踐
  101. 11.2.2 魔法方法
  102. 11.2.3 上下文管理器
  103. 11.3 小結(jié)
  104. 第12章 子類型
  105. 12.1 繼承
  106. 12.2 可替代性
  107. 12.3 設(shè)計(jì)方面的考慮
  108. 12.4 小結(jié)
  109. 第13章 協(xié)議
  110. 13.1 類型系統(tǒng)之間的張力
  111. 13.1.1 留空類型或使用Any類型
  112. 13.1.2 使用Union
  113. 13.1.3 使用繼承
  114. 13.1.4 使用mixin
  115. 13.2 協(xié)議
  116. 13.3 高級(jí)用法
  117. 13.3.1 復(fù)合協(xié)議
  118. 13.3.2 運(yùn)行時(shí)可檢查協(xié)議
  119. 13.3.3 滿足協(xié)議的模塊
  120. 13.4 小結(jié)
  121. 第14章 使用pydantic進(jìn)行運(yùn)行時(shí)檢查
  122. 14.1 動(dòng)態(tài)配置
  123. 14.2 pydantic
  124. 14.2.1 驗(yàn)證器
  125. 14.2.2 驗(yàn)證與解析
  126. 14.3 小結(jié)
  127. 第三部分 可擴(kuò)展的Python
  128. 第15章 可擴(kuò)展性
  129. 15.1 可擴(kuò)展性是什么
  130. 15.2 開閉原則
  131. 15.2.1 檢測OCP侵犯
  132. 15.2.2 缺點(diǎn)
  133. 15.3 小結(jié)
  134. 第16章 依賴關(guān)系
  135. 16.1 關(guān)系
  136. 16.2 依賴關(guān)系的類型
  137. 16.2.1 物理依賴關(guān)系
  138. 16.2.2 邏輯依賴關(guān)系
  139. 16.2.3 時(shí)間依賴關(guān)系
  140. 16.3 可視化你的依賴關(guān)系
  141. 16.3.1 可視化包
  142. 16.3.2 可視化導(dǎo)入
  143. 16.3.3 可視化函數(shù)調(diào)用
  144. 16.3.4 解釋依賴關(guān)系圖
  145. 16.4 小結(jié)
  146. 第17章 可組合性
  147. 17.1 可組合性介紹
  148. 17.2 策略與機(jī)制
  149. 17.3 較小規(guī)模的組合
  150. 17.3.1 組合函數(shù)
  151. 17.3.2 組合算法
  152. 17.4 小結(jié)
  153. 第18章 事件驅(qū)動(dòng)的架構(gòu)
  154. 18.1 工作原理
  155. 18.2 簡單的事件
  156. 18.2.1 使用消息代理
  157. 18.2.2 觀察者模式
  158. 18.3 事件流
  159. 18.4 小結(jié)
  160. 第19章 可插入的Python
  161. 19.1 模板方法模式
  162. 19.2 策略模式
  163. 19.3 插件式架構(gòu)
  164. 19.4 小結(jié)
  165. 第四部分 構(gòu)建安全網(wǎng)
  166. 第20章 靜態(tài)分析
  167. 20.1 lint檢測
  168. 20.1.1 編寫自己的Pylint插件
  169. 20.1.2 分解插件
  170. 20.2 其他靜態(tài)分析器
  171. 20.2.1 復(fù)雜度檢查器
  172. 20.2.2 安全分析
  173. 20.3 小結(jié)
  174. 第21章 測試策略
  175. 21.1 定義測試策略
  176. 21.2 降低測試成本
  177. 21.3 小結(jié)
  178. 第22章 驗(yàn)收測試
  179. 22.1 行為驅(qū)動(dòng)開發(fā)
  180. 22.1.1 Gherkin語言
  181. 22.1.2 可執(zhí)行規(guī)范
  182. 22.2 額外的behave特性
  183. 22.2.1 參數(shù)化步驟
  184. 22.2.2 表格驅(qū)動(dòng)的需求
  185. 22.2.3 步驟匹配
  186. 22.2.4 定制測試生命周期
  187. 22.2.5 使用標(biāo)記選擇性地運(yùn)行測試
  188. 22.2.6 報(bào)告生成
  189. 22.3 小結(jié)
  190. 第23章 基于屬性的測試
  191. 23.1 用Hypothesis開展基于屬性的測試
  192. 23.1.1 Hypothesis的魔力
  193. 23.1.2 與傳統(tǒng)測試的對(duì)比
  194. 23.2 充分利用Hypothesis
  195. 23.2.1 Hypothesis策略
  196. 23.2.2 生成算法
  197. 23.3 小結(jié)
  198. 第24章 突變測試
  199. 24.1 什么是突變測試
  200. 24.2 用mutmut進(jìn)行突變測試
  201. 24.2.1 修復(fù)突變體
  202. 24.2.2 突變測試報(bào)告
  203. 24.3 采用突變測試
  204. 24.4 小結(jié)
書名:健壯的Python
作者:Patrick Viafore
譯者:姚文杰, 周偉, 梁凌銳, 楊凌云 譯
國內(nèi)出版社:機(jī)械工業(yè)出版社
出版時(shí)間:2023年03月
頁數(shù):316
書號(hào):978-7-111-72144-4
原版書書名:Robust Python
原版書出版商:O'Reilly Media
Patrick Viafore
 
Patrick Viafore在關(guān)鍵任務(wù)軟件領(lǐng)域有超過14年的工作經(jīng)驗(yàn),專業(yè)方向涉及雷電檢測、電信和操作系統(tǒng)。他通過開發(fā)管道和工具,將Ubuntu鏡像部署到公有云供應(yīng)商,并通過Kudzera有限責(zé)任公司進(jìn)行軟件咨詢和項(xiàng)目承包(他是這家公司的負(fù)責(zé)人)。他的目標(biāo)是使計(jì)算機(jī)科學(xué)以及軟件工程主題對(duì)開發(fā)者社區(qū)來說更加容易理解。
 
 
購買選項(xiàng)
定價(jià):139.00元
書號(hào):978-7-111-72144-4
出版社:機(jī)械工業(yè)出版社