注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)工業(yè)技術(shù)電工技術(shù)大規(guī)模重構(gòu)

大規(guī)模重構(gòu)

大規(guī)模重構(gòu)

定 價(jià):¥78.00

作 者: [美]莫德 勒梅爾(Maude Lemaire)
出版社: 中國電力出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787519886264 出版時間: 2024-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書的主要內(nèi)容有:理解代碼是如何退化的,以及為什么一些退化是不可避免的。在重構(gòu)之前,量化和評定你的代碼狀態(tài)。起草一個具有戰(zhàn)略里程碑且精心設(shè)計(jì)的執(zhí)行計(jì)劃。贏得領(lǐng)導(dǎo)層的支持。建立和協(xié)調(diào)一個最z適合項(xiàng)目的團(tuán)隊(duì)。在團(tuán)隊(duì)內(nèi)外進(jìn)行高效溝通。正確使用重構(gòu)的最z佳實(shí)踐。

作者簡介

  Maude Lemaire是Slack的一名軟件工程師,她的工作是提升產(chǎn)品性能,以支持一些世界上最z大的組織。她的大部分時間都在進(jìn)行人員管理、網(wǎng)絡(luò)調(diào)用、重構(gòu)復(fù)雜的代碼塊、整合冗余的數(shù)據(jù)庫,以及為其他開發(fā)者構(gòu)建工具。

圖書目錄

目錄
前言 1
第一部分 概述
第1 章 重構(gòu) 11
1.1 什么是重構(gòu)? .12
1.2 什么是大規(guī)模重構(gòu)? 14
1.3 你為什么要關(guān)心重構(gòu)? .16
1.4 重構(gòu)的好處 17
1.4.1 開發(fā)者的生產(chǎn)力 17
1.4.2 識別bug 19
1.5 重構(gòu)的風(fēng)險(xiǎn) 19
1.5.1 嚴(yán)重的退步 20
1.5.2 挖掘出休眠的bug 20
1.5.3 范圍蔓延 .20
1.5.4 不必要的復(fù)雜度 21
1.6 何時重構(gòu)21
1.6.1 小范圍 22
1.6.2 代碼的復(fù)雜度明顯地阻礙了開發(fā) 22
1.6.3 產(chǎn)品需求的轉(zhuǎn)變 22
1.6.4 性能 23
1.6.5 使用新技術(shù) 23
1.7 何時不要重構(gòu) .24
1.7.1 為了好玩或出于無聊的原因 .24
1.7.2 因?yàn)槟闱『寐愤^ 25
1.7.3 使代碼更具可擴(kuò)展性.26
1.7.4 當(dāng)你沒時間時 27
1.8 我們的第一個重構(gòu)示例 .27
1.8.1 簡化條件語句 29
1.8.2 提取魔法數(shù)字 31
1.8.3 提取自包含邏輯 32
第2 章 代碼是如何退化的 .37
2.1 為什么理解代碼退化很重要 38
2.2 需求的轉(zhuǎn)變 39
2.2.1 可擴(kuò)展性 .39
2.2.2 可訪問性 .40
2.2.3 設(shè)備兼容性 40
2.2.4 環(huán)境改變 .41
2.2.5 外部依賴 .42
2.2.6 未使用的代碼 42
2.2.7 產(chǎn)品需求變化 43
2.3 技術(shù)債 46
2.3.1 技術(shù)決策 .47
2.3.2 缺乏持續(xù)的整理 50
2.3.3 移動得太快 51
2.4 應(yīng)用我們的知識 53
第二部分 規(guī)劃
第3 章 測量我們的起點(diǎn)狀態(tài) .57
3.1 為什么測量重構(gòu)的影響很難? 58
3.2 測量代碼復(fù)雜性 59
3.2.1 哈爾斯特德(Halstead)度量 59
3.2.2 循環(huán)復(fù)雜度 62
3.2.3 NPath 復(fù)雜度 65
3.2.4 代碼行數(shù) .68
3.3 測試覆蓋率指標(biāo) 69
3.4 文檔 .73
3.4.1 正式文檔 .73
3.4.2 非正式文檔 75
3.5 版本控制76
3.5.1 提交信息 .77
3.5.2 聚合提交 .77
3.6 聲譽(yù) .79
3.7 構(gòu)建完整的畫面 82
第4 章 起草計(jì)劃 83
4.1 定義你的最終狀態(tài) 84
4.1.1 旅途中 84
4.1.2 工作中 85
4.2 映射最短的距離 86
4.2.1 旅途中 86
4.2.2 工作中 87
4.3 確定戰(zhàn)略中間里程碑 89
4.3.1 旅途中 89
4.3.2 工作中 90
4.4 選擇推出策略 .94
4.4.1 明模式(Light)/ 暗模式(Dark) 95
4.4.2 Smart DNA 案例的推出 99
4.5 清理工件.100
4.6 在你的計(jì)劃中引用指標(biāo) 102
4.6.1 將目標(biāo)指標(biāo)延伸至中間里程碑 102
4.6.2 不同的里程碑指標(biāo) 103
4.7 估算 104
4.8 與其他團(tuán)隊(duì)分享你的計(jì)劃 .105
4.8.1 透明度 106
4.8.2 觀點(diǎn) .106
4.9 精細(xì)化計(jì)劃 108
第5 章 獲取支持 111
5.1 為什么你的經(jīng)理沒有上船 . 112
5.1.1 經(jīng)理不編碼 . 112
5.1.2 經(jīng)理們的評估方式不同 . 113
5.1.3 管理者看到的風(fēng)險(xiǎn) 113
5.1.4 管理者需要協(xié)調(diào) 114
5.2 制定令人信服的策略 115
5.2.1 使用對話策略 . 117
5.2.2 構(gòu)建對齊的“三明治” . 118
5.2.3 依賴證據(jù) 121
5.2.4 采取強(qiáng)硬手段 .122
5.3 認(rèn)同塑造重構(gòu) 124
第6 章 構(gòu)建正確的團(tuán)隊(duì) 125
6.1 識別不同類型的專家 126
6.2 匹配制度.128
6.2.1 多行業(yè)專家 .129
6.2.2 重新審視活躍貢獻(xiàn)者130
6.2.3 我們專家名單中的偏見 .130
6.3 重構(gòu)團(tuán)隊(duì)的類型 .132
6.3.1 所有者 132
6.3.2 建議的方法 .134
6.3.3 清潔人員 134
6.4 招募動員.136
6.4.1 指標(biāo) .137
6.4.2 慷慨 .138
6.4.3 機(jī)會 .139
6.4.4 交換籌碼 139
6.4.5 重復(fù) .140
6.5 一些結(jié)果.141
6.5.1 現(xiàn)實(shí)的場景 .141
6.5.2 最壞的情況 .141
6.6 培養(yǎng)強(qiáng)大的團(tuán)隊(duì) .142
第三部分 執(zhí)行
第7 章 溝通 . 147
7.1 在你的團(tuán)隊(duì)內(nèi) 148
7.1.1 站會 .150
7.1.2 每周同步 151
7.1.3 回顧會議 153
7.2 在你的團(tuán)隊(duì)外 154
7.2.1 開始項(xiàng)目時 .154
7.2.2 在項(xiàng)目執(zhí)行期間 157
7.3 始終迭代.162
第8 章 執(zhí)行策略 . 163
8.1 團(tuán)隊(duì)建設(shè).163
8.1.1 結(jié)對編程 164
8.1.2 保持每個人的動力 166
8.2 保持記錄.168
8.2.1 中期指標(biāo)度量 .168
8.2.2 發(fā)現(xiàn)的漏洞 .169
8.2.3 清理項(xiàng) 170
8.2.4 記錄超出范圍的內(nèi)容170
8.3 高效編程.171
8.3.1 原型 .171
8.3.2 保持事物小巧 .172
8.3.3 測試,測試,測試 173
8.3.4 提出“愚蠢”的問題173
8.4 結(jié)論 174
第9 章 讓重構(gòu)保持有效 175
9.1 推動支持.176
9.2 傳授 177
9.2.1 主動傳授 177
9.2.2 被動傳授 180
9.3 強(qiáng)化 181
9.3.1 漸進(jìn)式代碼檢查 181
9.3.2 代碼分析工具 .182
9.3.3 門檻與護(hù)欄 .182
9.4 將改進(jìn)融入企業(yè)文化 184
第四部分 用例
第10 章 案例研究:冗余數(shù)據(jù)庫模式(Schemas) 189
10.1 Slack 101 .190
10.2 Slack 架構(gòu)101 192
10.3 可擴(kuò)展性問題 195
10.3.1 啟動Slack 客戶端 .196
10.3.2 文件可見性196
10.3.3 提及 197
10.4 合并表格 198
10.4.1 收集分散的查詢 .199
10.4.2 制定遷移策略 202
10.4.3 量化我們的進(jìn)展 .205
10.4.4 試圖保持團(tuán)隊(duì)的動力 206
10.4.5 溝通我們的進(jìn)展 .207
10.5 整理 209
10.6 經(jīng)驗(yàn)教訓(xùn) 211
10.7 了解代碼的歷史 212
10.7.1 確保充分的測試覆蓋率 213
10.7.2 保持團(tuán)隊(duì)的動力 .213
10.7.3 專注于戰(zhàn)略里程碑 214
10.7.4 識別并依賴有意義的指標(biāo) .214
10.8 收獲 215
第11 章 案例研究:遷移到新數(shù)據(jù)庫 217
11.1 工作區(qū)分片數(shù)據(jù) 218
11.2 將channels_members 遷移到Vitess 219
11.2.1 分片方案 220
11.2.2 開發(fā)新模式 221
11.3 解決JOIN 操作中的糾纏問題 224
11.4 一個困難的推出 228
11.4.1 回填模式 229
11.4.2 暗模式 .230
11.4.3 明模式 .235
11.4.4 日落模式 237
11.5 整理 237
11.6 經(jīng)驗(yàn)教訓(xùn) 239
11.6.1 設(shè)定現(xiàn)實(shí)的估算 .240
11.6.2 尋找你需要的團(tuán)隊(duì)成員 240
11.6.3 仔細(xì)規(guī)劃范圍 241
11.6.4 選擇一個項(xiàng)目溝通的單一地點(diǎn) 241
11.6.5 設(shè)計(jì)一個周到的推出計(jì)劃 .242
11.7 收獲 243

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.talentonion.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號