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

 
整潔代碼經(jīng)典實(shí)例
整潔代碼經(jīng)典實(shí)例
Maximiliano Contieri
黃俊彬 譯
出版時(shí)間:2024年10月
頁數(shù):464
“一本內(nèi)容豐富、理論深刻,并且包含許多實(shí)用例子的書,幫助你編寫整潔的代碼。強(qiáng)烈推薦給所有追求高質(zhì)量軟件的人?!?br /> ——Daniel Moka
軟件工匠,MokaIT
“Maxi是一位應(yīng)用科學(xué)家,他在軟件開發(fā)領(lǐng)域的深刻專業(yè)知識在這本書中得到了精彩展現(xiàn)?!?br /> ——Alex Bunardzic
軟件開發(fā)者兼講師

軟件工程師和架構(gòu)師在處理大型復(fù)雜代碼庫時(shí),需要有效地?cái)U(kuò)展和維護(hù)它們。通過這本經(jīng)典實(shí)例,本書作者不僅僅介紹了整潔代碼的概念,還向你展示如何識別改進(jìn)機(jī)會,并評估它們對生產(chǎn)代碼的影響。這些技術(shù)在可靠性和系統(tǒng)演化方面,隨著時(shí)間的推移帶來了顯著的回報(bào)。
本書通過JavaScript、PHP、Python、Java等多種編程語言的真實(shí)示例,提供了經(jīng)過驗(yàn)證的實(shí)踐方法,幫助你擴(kuò)展和維護(hù)大型系統(tǒng),每章涵蓋了包括可讀性、耦合性、可測試性、安全性和可擴(kuò)展性在內(nèi)的基本概念,還有代碼壞味道及其相應(yīng)的解決方案。
隨著閱讀的深入,本書中的重構(gòu)實(shí)例及其解決的問題會變得越來越復(fù)雜。你將學(xué)習(xí)以下內(nèi)容:
● 理解整潔代碼的好處,并學(xué)習(xí)如何識別改進(jìn)機(jī)會。
● 逐步學(xué)習(xí)重構(gòu)技術(shù)。
● 理解整潔代碼背后的理論。
● 在多種現(xiàn)代編程語言中看到實(shí)際的例子。
● 獲得代碼壞味道的全面列表,了解它們的影響及可能的解決方案。
● 編寫簡潔直觀的代碼,注重可讀性和學(xué)習(xí)性。
  1. 第1章 整潔代碼
  2. 1.1 什么是代碼壞味道?
  3. 1.2 重構(gòu)是什么?
  4. 1.3 什么是經(jīng)典實(shí)例?
  5. 1.4 為什么要寫整潔的代碼?
  6. 1.5 可讀性、性能,或者兩者兼而有之
  7. 1.6 軟件類型
  8. 1.7 機(jī)器生成的代碼
  9. 1.8 本書中的命名考慮
  10. 1.9 設(shè)計(jì)模式
  11. 1.10 編程語言范式
  12. 1.11 對象與類的比較
  13. 1.12 可變性
  14. 第2章 建立原則
  15. 2.0 引言
  16. 2.1 為什么它是一個(gè)模型?
  17. 2.2 為什么它是抽象的?
  18. 2.3 為什么它是可編程的?
  19. 2.4 為什么它是部分的?
  20. 2.5 為什么它是解釋性的?
  21. 2.6 為什么它與現(xiàn)實(shí)有關(guān)?
  22. 2.7 推斷規(guī)則
  23. 2.8 唯一的軟件設(shè)計(jì)原則
  24. 第3章 貧血模型
  25. 3.0 引言
  26. 3.1 將貧血對象轉(zhuǎn)換為豐富對象
  27. 3.2 識別你的對象的本質(zhì)
  28. 3.3 移除對象中的setter
  29. 3.4 移除貧血代碼生成器
  30. 3.5 移除自動屬性
  31. 3.6 移除DTO
  32. 3.7 完善空構(gòu)造函數(shù)
  33. 3.8 移除getter
  34. 3.9 防止對象隨意調(diào)用
  35. 3.10 移除動態(tài)屬性
  36. 第4章 原始偏執(zhí)
  37. 4.0 引言
  38. 4.1 創(chuàng)建小對象
  39. 4.2 實(shí)例化原始數(shù)據(jù)
  40. 4.3 實(shí)例化關(guān)聯(lián)數(shù)組
  41. 4.4 移除濫用字符串
  42. 4.5 實(shí)例化時(shí)間戳
  43. 4.6 實(shí)例化子集為對象
  44. 4.7 實(shí)例化字符串驗(yàn)證
  45. 4.8 移除不必要的屬性
  46. 4.9 創(chuàng)建日期區(qū)間
  47. 第5章 可變性
  48. 5.0 引言
  49. 5.1 將變量改為常量
  50. 5.2 聲明變量為可變變量
  51. 5.3 禁止改變本質(zhì)
  52. 5.4 避免可變的常量數(shù)組
  53. 5.5 移除延遲初始化
  54. 5.6 凍結(jié)可變常量
  55. 5.7 移除副作用
  56. 5.8 防止提升
  57. 第6章 聲明式代碼
  58. 6.0 引言
  59. 6.1 縮小重用變量的范圍
  60. 6.2 移除空行
  61. 6.3 移除帶版本的方法
  62. 6.4 移除雙重否定
  63. 6.5 改變錯(cuò)位的責(zé)任
  64. 6.6 替換顯式迭代
  65. 6.7 記錄設(shè)計(jì)決策
  66. 6.8 用常量替換魔法數(shù)字
  67. 6.9 分離“是什么”和“怎么做”
  68. 6.10 文檔化正則表達(dá)式
  69. 6.11 重寫Yoda條件
  70. 6.12 移除滑稽方法
  71. 6.13 避免回調(diào)地獄
  72. 6.14 生成良好的錯(cuò)誤消息
  73. 6.15 避免魔法修正
  74. 第7章 命名
  75. 7.0 引言
  76. 7.1 擴(kuò)展縮寫
  77. 7.2 重命名和拆分Helpers和Utils
  78. 7.3 重命名MyObjects
  79. 7.4 重命名結(jié)果變量
  80. 7.5 重命名以類型命名的變量
  81. 7.6 重命名長名稱
  82. 7.7 重命名抽象名稱
  83. 7.8 更正拼寫錯(cuò)誤
  84. 7.9 從屬性中移除類名
  85. 7.10 移除類和接口的首字母
  86. 7.11 重命名base/do函數(shù)
  87. 7.12 將復(fù)數(shù)類轉(zhuǎn)換為單數(shù)
  88. 7.13 從名稱中移除“Collection”
  89. 7.14 移除類名中的“Impl”前綴/后綴
  90. 7.15 根據(jù)角色重命名參數(shù)
  91. 7.16 移除冗余的參數(shù)名稱
  92. 7.17 移除名稱中的不必要上下文
  93. 7.18 避免數(shù)據(jù)命名
  94. 第8章 注釋
  95. 8.0 引言
  96. 8.1 刪除被注釋的代碼
  97. 8.2 刪除過時(shí)的注釋
  98. 8.3 刪除邏輯注釋
  99. 8.4 刪除Getter注釋
  100. 8.5 將注釋轉(zhuǎn)換為函數(shù)名稱
  101. 8.6 刪除方法內(nèi)的注釋
  102. 8.7 用測試替換注釋
  103. 第9章 標(biāo)準(zhǔn)
  104. 9.0 引言
  105. 9.1 遵循代碼規(guī)范
  106. 9.2 統(tǒng)一縮進(jìn)方式
  107. 9.3 統(tǒng)一命名規(guī)范
  108. 9.4 用英文編寫代碼
  109. 9.5 統(tǒng)一參數(shù)順序
  110. 9.6 修復(fù)另外的問題
  111. 第10章 復(fù)雜性
  112. 10.0 引言
  113. 10.1 移除重復(fù)代碼
  114. 10.2 移除設(shè)置/配置和功能切換
  115. 10.3 將狀態(tài)作為屬性更改
  116. 10.4 移除代碼中的特殊設(shè)計(jì)
  117. 10.5 打破多個(gè)Promises
  118. 10.6 打破長鏈的協(xié)作
  119. 10.7 將方法提取到對象中
  120. 10.8 關(guān)注數(shù)組構(gòu)造函數(shù)
  121. 10.9 移除幽靈對象
  122. 第11章 膨脹者
  123. 11.0 引言
  124. 11.1 分解過長的方法
  125. 11.2 減少過多參數(shù)
  126. 11.3 減少多余變量
  127. 11.4 移除過多的括號
  128. 11.5 移除過多的方法
  129. 11.6 分解過多的屬性
  130. 11.7 減少導(dǎo)入列表
  131. 11.8 拆分“與”功能
  132. 11.9 拆分臃腫的接口
  133. 第12章 YAGNI
  134. 12.0 引言
  135. 12.1 移除死代碼
  136. 12.2 使用代碼代替圖表
  137. 12.3 重構(gòu)只有一個(gè)子類的類
  138. 12.4 移除只使用一次的接口
  139. 12.5 移除設(shè)計(jì)模式的濫用
  140. 12.6 替換業(yè)務(wù)集合
  141. 第13章 快速失敗
  142. 13.0 引言
  143. 13.1 變量重新賦值的重構(gòu)
  144. 13.2 強(qiáng)制前提條件
  145. 13.3 使用更嚴(yán)格的參數(shù)
  146. 13.4 移除開關(guān)語句中的默認(rèn)情況
  147. 13.5 避免在遍歷時(shí)修改集合
  148. 13.6 重新定義哈希和相等性
  149. 13.7 無功能性變化的重構(gòu)
  150. 第14章 條件語句
  151. 14.0 引言
  152. 14.1 用多態(tài)替換偶然的if語句
  153. 14.2 為事件重命名標(biāo)志變量
  154. 14.3 實(shí)例化布爾變量
  155. 14.4 替換Switch/Case/elseif語句
  156. 14.5 使用集合替換硬編碼的if條件
  157. 14.6 將布爾值改為短路條件
  158. 14.7 添加隱式else
  159. 14.8 重寫條件箭頭代碼
  160. 14.9 避免使用短路技巧
  161. 14.10 重寫嵌套的箭頭代碼
  162. 14.11 避免返回布爾值進(jìn)行條件檢查
  163. 14.12 更改布爾值的比較方式
  164. 14.13 從長三元表達(dá)式中提取
  165. 14.14 將非多態(tài)函數(shù)轉(zhuǎn)換為多態(tài)函數(shù)
  166. 14.15 改變相等比較
  167. 14.16 使硬編碼的業(yè)務(wù)條件具體化
  168. 14.17 移除不必要的布爾值
  169. 14.18 重寫嵌套三元條件
  170. 第15章 空值
  171. 15.0 簡介
  172. 15.1 創(chuàng)建空對象
  173. 15.2 移除可選鏈路
  174. 15.3 將可選屬性轉(zhuǎn)換為集合
  175. 15.4 使用真實(shí)對象作為空對象
  176. 15.5 不使用空對象表示未知位置
  177. 第16章 過早優(yōu)化
  178. 16.0 引言
  179. 16.1 避免對象上的標(biāo)識符
  180. 16.2 移除過早的優(yōu)化
  181. 16.3 移除位運(yùn)算的過早優(yōu)化
  182. 16.4 減少過度泛化
  183. 16.5 改變結(jié)構(gòu)優(yōu)化
  184. 16.6 移除錨定船只
  185. 16.7 從領(lǐng)域?qū)ο笾刑崛【彺?
  186. 16.8 基于實(shí)現(xiàn)的回調(diào)事件的移除
  187. 16.9 移除構(gòu)造函數(shù)中的查詢
  188. 16.10 從析構(gòu)函數(shù)中移除代碼
  189. 第17章 耦合
  190. 17.0 引言
  191. 17.1 顯式化隱藏假設(shè)
  192. 17.2 替換單例模式
  193. 17.3 打破上帝對象
  194. 17.4 打破分歧性變更
  195. 17.5 將9999特殊標(biāo)志值轉(zhuǎn)換為正常值
  196. 17.6 移除散彈代碼
  197. 17.7 移除可選參數(shù)
  198. 17.8 防止特性依戀
  199. 17.9 移除中間人
  200. 17.10 將默認(rèn)參數(shù)移到末尾
  201. 17.11 避免連鎖反應(yīng)
  202. 17.12 移除業(yè)務(wù)對象上的意外方法
  203. 17.13 從用戶界面中移除業(yè)務(wù)代碼
  204. 17.14 改變類之間的耦合
  205. 17.15 重構(gòu)數(shù)據(jù)團(tuán)
  206. 17.16 打破不恰當(dāng)?shù)挠H密關(guān)系
  207. 17.17 轉(zhuǎn)換可互換對象
  208. 第18章 全局變量
  209. 18.0 引言
  210. 18.1 實(shí)例化全局函數(shù)
  211. 18.2 實(shí)例化靜態(tài)函數(shù)
  212. 18.3 用結(jié)構(gòu)化代碼替換GoTo
  213. 18.4 移除全局類
  214. 18.5 改變?nèi)秩掌趧?chuàng)建
  215. 第19章 層次結(jié)構(gòu)
  216. 19.0 引言
  217. 19.1 打破深層繼承
  218. 19.2 打破悠悠球?qū)哟谓Y(jié)構(gòu)
  219. 19.3 打破子分類以重用代碼
  220. 19.4 用行為替換“is-a”關(guān)系
  221. 19.5 移除嵌套類
  222. 19.6 重命名孤立類
  223. 19.7 使具體類成為最終類
  224. 19.8 顯式定義類的繼承關(guān)系
  225. 19.9 遷移空類
  226. 19.10 推遲過早的分類
  227. 19.11 移除受保護(hù)的屬性
  228. 19.12 完成空實(shí)現(xiàn)
  229. 第20章 測試
  230. 20.0 引言
  231. 20.1 測試私有方法
  232. 20.2 為斷言添加描述
  233. 20.3 將assertTrue遷移到特定斷言
  234. 20.4 用真實(shí)對象替換模擬對象
  235. 20.5 優(yōu)化通用斷言
  236. 20.6 移除不穩(wěn)定的測試
  237. 20.7 更改浮點(diǎn)數(shù)斷言
  238. 20.8 將測試數(shù)據(jù)改為真實(shí)數(shù)據(jù)
  239. 20.9 保護(hù)違反封裝的測試
  240. 20.10 移除不相關(guān)的測試信息
  241. 20.11 在每個(gè)合并請求中添加覆蓋率
  242. 20.12 根據(jù)日期重寫測試
  243. 20.13 學(xué)習(xí)一種新的編程語言
  244. 第21章 技術(shù)債務(wù)
  245. 21.0 引言
  246. 21.1 移除依賴于生產(chǎn)環(huán)境的代碼
  247. 21.2 移除缺陷跟蹤器
  248. 21.3 移除警告/嚴(yán)格模式關(guān)閉
  249. 21.4 預(yù)防和移除ToDo和FixMe
  250. 第22章 異常
  251. 22.0 引言
  252. 22.1 刪除空的異常塊
  253. 22.2 刪除不必要的異常
  254. 22.3 重寫預(yù)期情況下的異常
  255. 22.4 重寫嵌套的try/catch塊
  256. 22.5 用異常替換返回代碼
  257. 22.6 重寫異常箭頭代碼
  258. 22.7 隱藏終端用戶的低級錯(cuò)誤
  259. 22.8 縮小異常范圍
  260. 第23章 元編程
  261. 23.0 簡介
  262. 23.1 移除元編程用法
  263. 23.2 實(shí)例化匿名函數(shù)
  264. 23.3 移除預(yù)處理器
  265. 23.4 移除動態(tài)方法
  266. 第24章 類型
  267. 24.0 引言
  268. 24.1 移除類型檢查
  269. 24.2 處理真值
  270. 24.3 將浮點(diǎn)數(shù)改為小數(shù)
  271. 第25章 安全性
  272. 25.0 引言
  273. 25.1 輸入過濾
  274. 25.2 更改順序ID
  275. 25.3 移除包依賴
  276. 25.4 替換惡意正則表達(dá)式
  277. 25.5 保護(hù)對象反序列化
  278. 術(shù)語表
書名:整潔代碼經(jīng)典實(shí)例
譯者:黃俊彬 譯
國內(nèi)出版社:中國電力出版社
出版時(shí)間:2024年10月
頁數(shù):464
書號:978-7-5198-9240-1
原版書書名:Clean Code Cookbook
原版書出版商:O'Reilly Media
Maximiliano Contieri
 
Maximiliano Contieri在軟件行業(yè)工作了25年,同時(shí)在布宜諾斯艾利斯大學(xué)教授計(jì)算機(jī)科學(xué)。他還在流行的博客平臺和會議上發(fā)表了關(guān)于整潔代碼、重構(gòu)和代碼壞味道的文章。他提倡利用軟件基礎(chǔ)原理構(gòu)建優(yōu)雅而健壯的解決方案,倡導(dǎo)聲明式和行為式編碼風(fēng)格。
 
 
封面上的動物是一只灰海豹(學(xué)名:Halichoerus grypus),它們也親切地被稱為“馬頭”和“海中的鉤鼻豬”,因?yàn)樗鼈冇歇?dú)特的大鼻子。
灰海豹的體重在550~880磅之間,體長可達(dá)7.5~10英尺。當(dāng)它們在陸地上時(shí),會使用它們短小的鰭狀肢,像毛毛蟲一樣移動。它們可以活到35歲,并且能夠潛到超過1000英尺深的水下,持續(xù)長達(dá)一個(gè)小時(shí)。
灰海豹因其敏銳的視力和聽力而成為出色的獵手。它們經(jīng)常成群狩獵,以各種魚類、甲殼類、魷魚、章魚和偶爾的海鳥為食?;液1刻炜梢猿缘粝喈?dāng)于它們體重4%~6%的食物。
世界上有三種灰海豹種群:一種在北大西洋(加拿大東部和美國東北部),一種在東北大西洋(大不列顛、冰島、挪威、丹麥、法羅群島、俄羅斯),還有一種在波羅的海。它們棲息在巖石海岸、島嶼、沙洲、冰架和冰山。
灰海豹種群面臨著幾項(xiàng)威脅。它們可能會被漁網(wǎng)纏住,遭受騷擾、化學(xué)污染、石油泄漏、船只和車輛碰撞以及非法狩獵。在美國,它們是受保護(hù)的海洋哺乳動物,但一些國家允許合法獵殺,以控制種群數(shù)量并減少海豹對商業(yè)重要魚類資源的影響。盡管存在這些問題,灰海豹的數(shù)量眾多,它們被認(rèn)為是瀕危物種名單上最不令人擔(dān)憂的物種。奧萊利封面上的許多動物都是瀕危的;它們對世界都很重要。
購買選項(xiàng)
定價(jià):148.00元
書號:978-7-5198-9240-1
出版社:中國電力出版社