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

 
大規(guī)模重構(gòu)
大規(guī)模重構(gòu)
Maude Lemaire
徐棟棟 譯
出版時間:2024年05月
頁數(shù):243
“在一個巨大的、不斷變化的代碼庫中,保持生產(chǎn)力似乎是一個西西弗斯式的任務(wù)。本書將這一過程分解成一個個你可以立即應(yīng)用的步驟。”
——Cal Henderson
Slack首席技術(shù)官
“我喜歡這本書中的案例研究。我希望我能把這本書送給過去的自己,幫助以前的我更好的規(guī)劃大型遷移。書中有很多我需要去努力學習的經(jīng)驗。”
——Julia Evans
《Wizard Zines》的作者

對大型、復(fù)雜的代碼庫進行重大修改是一項艱巨的任務(wù),除非你有合適的團隊、工具和思維方式,否則幾乎不可能成功。如果你的應(yīng)用程序需要進行重大改造,但你又不確定以何種可持續(xù)的方式進行,那么這本書就是為你準備的。
軟件工程師Maude Lemaire將帶領(lǐng)你從頭到尾經(jīng)歷整個重構(gòu)過程。你將了解她在 Slack 的關(guān)鍵發(fā)展時期是如何提高性能和重構(gòu)的,并從這些經(jīng)驗中得到啟發(fā),書中利用兩個案例研究來說明這些技術(shù)是如何在實際工作中產(chǎn)生影響的。本書將有助于你獲得一種新的能力,使你更高效地進行重構(gòu)。
● 理解代碼是如何退化的,以及為什么一些退化是不可避免的。
● 在重構(gòu)之前,量化和評定你的代碼狀態(tài)。
● 起草一個具有戰(zhàn)略里程碑且精心設(shè)計的執(zhí)行計劃。
● 贏得領(lǐng)導(dǎo)層的支持。
● 建立和協(xié)調(diào)一個最適合項目的團隊。
● 在團隊內(nèi)外進行高效溝通。
● 正確使用重構(gòu)的最佳實踐。
  1. 前言
  2. 第一部分 概述
  3. 第1章 重構(gòu)
  4. 1.1 什么是重構(gòu)?
  5. 1.2 什么是大規(guī)模重構(gòu)?
  6. 1.3 你為什么要關(guān)心重構(gòu)?
  7. 1.4 重構(gòu)的好處
  8. 1.4.1 開發(fā)者的生產(chǎn)力
  9. 1.4.2 識別bug
  10. 1.5 重構(gòu)的風險
  11. 1.5.1 嚴重的退步
  12. 1.5.2 挖掘出休眠的bug
  13. 1.5.3 范圍蔓延
  14. 1.5.4 不必要的復(fù)雜度
  15. 1.6 何時重構(gòu)
  16. 1.6.1 小范圍
  17. 1.6.2 代碼的復(fù)雜度明顯地阻礙了開發(fā)
  18. 1.6.3 產(chǎn)品需求的轉(zhuǎn)變
  19. 1.6.4 性能
  20. 1.6.5 使用新技術(shù)
  21. 1.7 何時不要重構(gòu)
  22. 1.7.1 為了好玩或出于無聊的原因
  23. 1.7.2 因為你恰好路過
  24. 1.7.3 使代碼更具可擴展性
  25. 1.7.4 當你沒時間時
  26. 1.8 我們的第一個重構(gòu)示例
  27. 1.8.1 簡化條件語句
  28. 1.8.2 提取魔法數(shù)字
  29. 1.8.3 提取自包含邏輯
  30. 第2章 代碼是如何退化的
  31. 2.1 為什么理解代碼退化很重要
  32. 2.2 需求的轉(zhuǎn)變
  33. 2.2.1 可擴展性
  34. 2.2.2 可訪問性
  35. 2.2.3 設(shè)備兼容性
  36. 2.2.4 環(huán)境改變
  37. 2.2.5 外部依賴
  38. 2.2.6 未使用的代碼
  39. 2.2.7 產(chǎn)品需求變化
  40. 2.3 技術(shù)債
  41. 2.3.1 技術(shù)決策
  42. 2.3.2 缺乏持續(xù)的整理
  43. 2.3.3 移動得太快
  44. 2.4 應(yīng)用我們的知識
  45. 第二部分 規(guī)劃
  46. 第3章 測量我們的起點狀態(tài)
  47. 3.1 為什么測量重構(gòu)的影響很難?
  48. 3.2 測量代碼復(fù)雜性
  49. 3.2.1 哈爾斯特德(Halstead)度量
  50. 3.2.2 循環(huán)復(fù)雜度
  51. 3.2.3 NPath復(fù)雜度
  52. 3.2.4 代碼行數(shù)
  53. 3.3 測試覆蓋率指標
  54. 3.4 文檔
  55. 3.4.1 正式文檔
  56. 3.4.2 非正式文檔
  57. 3.5 版本控制
  58. 3.5.1 提交信息
  59. 3.5.2 聚合提交
  60. 3.6 聲譽
  61. 3.7 構(gòu)建完整的畫面
  62. 第4章 起草計劃
  63. 4.1 定義你的最終狀態(tài)
  64. 4.1.1 旅途中
  65. 4.1.2 工作中
  66. 4.2 映射最短的距離
  67. 4.2.1 旅途中
  68. 4.2.2 工作中
  69. 4.3 確定戰(zhàn)略中間里程碑
  70. 4.3.1 旅途中
  71. 4.3.2 工作中
  72. 4.4 選擇推出策略
  73. 4.4.1 明模式(Light)/暗模式(Dark)
  74. 4.4.2 Smart DNA案例的推出
  75. 4.5 清理工件
  76. 4.6 在你的計劃中引用指標
  77. 4.6.1 將目標指標延伸至中間里程碑
  78. 4.6.2 不同的里程碑指標
  79. 4.7 估算
  80. 4.8 與其他團隊分享你的計劃
  81. 4.8.1 透明度
  82. 4.8.2 觀點
  83. 4.9 精細化計劃
  84. 第5章 獲取支持
  85. 5.1 為什么你的經(jīng)理沒有上船
  86. 5.1.1 經(jīng)理不編碼
  87. 5.1.2 經(jīng)理們的評估方式不同
  88. 5.1.3 管理者看到的風險
  89. 5.1.4 管理者需要協(xié)調(diào)
  90. 5.2 制定令人信服的策略
  91. 5.2.1 使用對話策略
  92. 5.2.2 構(gòu)建對齊的“三明治”
  93. 5.2.3 依賴證據(jù)
  94. 5.2.4 采取強硬手段
  95. 5.3 認同塑造重構(gòu)
  96. 第6章 構(gòu)建正確的團隊
  97. 6.1 識別不同類型的專家
  98. 6.2 匹配制度
  99. 6.2.1 多行業(yè)專家
  100. 6.2.2 重新審視活躍貢獻者
  101. 6.2.3 我們專家名單中的偏見
  102. 6.3 重構(gòu)團隊的類型
  103. 6.3.1 所有者
  104. 6.3.2 建議的方法
  105. 6.3.3 清潔人員
  106. 6.4 招募動員
  107. 6.4.1 指標
  108. 6.4.2 慷慨
  109. 6.4.3 機會
  110. 6.4.4 交換籌碼
  111. 6.4.5 重復(fù)
  112. 6.5 一些結(jié)果
  113. 6.5.1 現(xiàn)實的場景
  114. 6.5.2 最壞的情況
  115. 6.6 培養(yǎng)強大的團隊
  116. 第三部分 執(zhí)行
  117. 第7章 溝通
  118. 7.1 在你的團隊內(nèi)
  119. 7.1.1 站會
  120. 7.1.2 每周同步
  121. 7.1.3 回顧會議
  122. 7.2 在你的團隊外
  123. 7.2.1 開始項目時
  124. 7.2.2 在項目執(zhí)行期間
  125. 7.3 始終迭代
  126. 第8章 執(zhí)行策略
  127. 8.1 團隊建設(shè)
  128. 8.1.1 結(jié)對編程
  129. 8.1.2 保持每個人的動力
  130. 8.2 保持記錄
  131. 8.2.1 中期指標度量
  132. 8.2.2 發(fā)現(xiàn)的漏洞
  133. 8.2.3 清理項
  134. 8.2.4 記錄超出范圍的內(nèi)容
  135. 8.3 高效編程
  136. 8.3.1 原型
  137. 8.3.2 保持事物小巧
  138. 8.3.3 測試,測試,測試
  139. 8.3.4 提出“愚蠢”的問題
  140. 8.4 結(jié)論
  141. 第9章 讓重構(gòu)保持有效
  142. 9.1 推動支持
  143. 9.2 傳授
  144. 9.2.1 主動傳授
  145. 9.2.2 被動傳授
  146. 9.3 強化
  147. 9.3.1 漸進式代碼檢查
  148. 9.3.2 代碼分析工具
  149. 9.3.3 門檻與護欄
  150. 9.4 將改進融入企業(yè)文化
  151. 第四部分 用例
  152. 第10章 案例研究:冗余數(shù)據(jù)庫模式(Schemas)
  153. 10.1 Slack 101
  154. 10.2 Slack架構(gòu)101
  155. 10.3 可擴展性問題
  156. 10.3.1 啟動Slack客戶端
  157. 10.3.2 文件可見性
  158. 10.3.3 提及
  159. 10.4 合并表格
  160. 10.4.1 收集分散的查詢
  161. 10.4.2 制定遷移策略
  162. 10.4.3 量化我們的進展
  163. 10.4.4 試圖保持團隊的動力
  164. 10.4.5 溝通我們的進展
  165. 10.5 整理
  166. 10.6 經(jīng)驗教訓
  167. 10.7 了解代碼的歷史
  168. 10.7.1 確保充分的測試覆蓋率
  169. 10.7.2 保持團隊的動力
  170. 10.7.3 專注于戰(zhàn)略里程碑
  171. 10.7.4 識別并依賴有意義的指標
  172. 10.8 收獲
  173. 第11章 案例研究:遷移到新數(shù)據(jù)庫
  174. 11.1 工作區(qū)分片數(shù)據(jù)
  175. 11.2 將channels_members遷移到Vitess
  176. 11.2.1 分片方案
  177. 11.2.2 開發(fā)新模式
  178. 11.3 解決JOIN操作中的糾纏問題
  179. 11.4 一個困難的推出
  180. 11.4.1 回填模式
  181. 11.4.2 暗模式
  182. 11.4.3 明模式
  183. 11.4.4 日落模式
  184. 11.5 整理
  185. 11.6 經(jīng)驗教訓
  186. 11.6.1 設(shè)定現(xiàn)實的估算
  187. 11.6.2 尋找你需要的團隊成員
  188. 11.6.3 仔細規(guī)劃范圍
  189. 11.6.4 選擇一個項目溝通的單一地點
  190. 11.6.5 設(shè)計一個周到的推出計劃
  191. 11.7 收獲
書名:大規(guī)模重構(gòu)
作者:Maude Lemaire
譯者:徐棟棟 譯
國內(nèi)出版社:中國電力出版社
出版時間:2024年05月
頁數(shù):243
書號:978-7-5198-8626-4
原版書書名:Refactoring at Scale
原版書出版商:O'Reilly Media
Maude Lemaire
 
Maude Lemaire是Slack的一名軟件工程師,她的工作是提升產(chǎn)品性能,以支持一些世界上最大的組織。她的大部分時間都在進行人員管理、網(wǎng)絡(luò)調(diào)用、重構(gòu)復(fù)雜的代碼塊、整合冗余的數(shù)據(jù)庫,以及為其他開發(fā)者構(gòu)建工具。
 
 
本書封面上的動物是一只海象(學名:Odobenus rosmarus),這是在北極和亞北極地區(qū)發(fā)現(xiàn)的大型海洋哺乳動物。
海象以其長而鋒利的獠牙而聞名,這些獠牙幫助它們破冰、爬出水面、在群體中建立優(yōu)勢并保護自己免受捕食者的攻擊。短小的毛發(fā)稀疏地覆蓋在海象厚厚的皮膚上,顏色從灰色到黃棕色都有。一層更厚的脂肪提供了溫暖和儲存的能量,使它們能在嚴酷的條件下生存。
這些行動緩慢的肉食動物更喜歡生活在冰和淺水區(qū)域,以便于獲取食物,并會季節(jié)性地遷移以尋找最佳厚度的冰。短的前鰭和更大的后鰭推動著這種平均重達一噸的生物在水中游動,而它的觸須比眼睛更多地用于導(dǎo)航和識別食物。海象主要消耗大量的軟體動物和其他貝類,但偶爾也會吃更大的動物,如海鳥甚至海豹。
全球氣候變化和人類捕獵使得海象的保護狀況被列為易危。O’Reilly封面上的許多動物都處于瀕危狀態(tài);而所有這些動物對于世界都至關(guān)重要。
購買選項
定價:78.00元
書號:978-7-5198-8626-4
出版社:中國電力出版社