-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

遺留系統重建實戰

( 簡體 字)
作者:[英]克里斯·伯查爾(Chris Birchall)類別:1. -> 程式設計 -> 綜合
譯者:
出版社:人民郵電出版社遺留系統重建實戰 3dWoo書號: 47704
詢問書籍請說出此書號!

缺書
NT售價: 275

出版日:9/1/2017
頁數:180
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787115465856
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

重構遺留系統代碼整潔之道 讓你輕鬆學會修改代碼的藝術 基於Java和C#語言編寫


正如本書作者所言,大多數開發人員的主要時間都是花費在與現有的軟體打交道上,而不是編寫全新的應用程式。相信開發人員或多或少都遇到過與遺留系統相關的問題或者困惑,本書致力於幫開發人員回答這些問題,更重要的是,幫開發人員避免把自己當前開發的系統變成別人將來要面臨的遺留問題。


本書篇幅不長,但涵蓋的內容很廣,例證豐富,有大量的示例代碼(主要使用Java或C#編寫),深入淺出地介紹了工作在遺留系統中會遇到的各種問題及應對方法。書中不僅包含技術性的內容—如何選擇構建項目的工具,如何自動化構建基礎設施,如何決定並進行重構或重寫等,也包含非技術性的內容—應該建設什麼樣的團隊文化,如何引入代碼評審等活動,如何進行團隊知識的傳播、改進溝通方式等。
目錄:

第一部分 開始

第1章 瞭解遺留項目中的挑戰 3

1.1 遺留項目的定義 3

1.1.1 遺留專案的特徵 4

1.1.2 規則的例外 5

1.2 遺留代碼 6

1.2.1 沒有測試和無法測試的代碼 6

1.2.2 不靈活的代碼 8

1.2.3 被技術債務拖累的代碼 8

1.3 遺留基礎設施 9

1.3.1 開發環境 10

1.3.2 過時的依賴 10

1.3.3 異構環境 11

1.4 遺留文化 12

1.4.1 害怕變化 12

1.4.2 知識倉庫 13

1.5 小結 14

第2章 找到起點 15

2.1 克服恐懼和沮喪 15

2.1.1 恐懼 16

2.1.2 沮喪 18

2.2 收集軟體的有用資料 19

2.2.1 bug和編碼標準違例 20

2.2.2 性能 20

2.2.3 錯誤計數 23

2.2.4 對常見的任務計時 23

2.2.5 常用檔 24

2.2.6 度量可度量的一切 25

2.3 用FindBugs、PMD和Checkstyle審查代碼庫 25

2.3.1 在IDE中運行FindBugs 26

2.3.2 處理誤報 29

2.3.3 PMD和Checkstyle 32

2.4 用Jenkins進行持續審查 34

2.4.1 持續集成和持續審查 34

2.4.2 安裝和設置Jenkins 35

2.4.3 用Jenkins構建和審查代碼 36

2.4.4 還能用Jenkins做些什麼 37

2.4.5 SonarQube 39

2.5 小結 39

第二部分 通過重構改善代碼庫

第3章 準備重構 43

3.1 達成團隊共識 44

3.1.1 傳統主義者 44

3.1.2 反傳統主義者 46

3.1.3 一切都在於溝通 47

3.2 獲得組織的批准 48

3.2.1 使它變得正式 48

3.2.2 備用計畫:神秘的20%計畫 49

3.3 選擇重構目標 50

3.4 決策時間:重構還是重寫 51

3.4.1 不應該重寫的情況 52

3.4.2 從頭重寫的好處 55

3.4.3 重寫的必要條件 56

3.4.4 第三種方式:增量重寫 57

3.5 小結 58

第4章 重構 59

4.1 有紀律的重構 59

4.1.1 避免馬克白的悲劇 59

4.1.2 把重構和其他的工作分開 60

4.1.3 依靠IDE 61

4.1.4 依靠版本控制系統 64

4.1.5 Mikado方法 65

4.2 常見的遺留代碼的特徵和重構 66

4.2.1 陳舊代碼 66

4.2.2 有毒的測試 68

4.2.3 過多的null 70

4.2.4 不必要的可變狀態 73

4.2.5 錯綜複雜的業務邏輯 74

4.2.6 視圖層中的複雜性 79

4.3 測試遺留代碼 83

4.3.1 測試不可測試的代碼 83

4.3.2 沒有單元測試的回歸測試 86

4.3.3 讓用戶為你工作 88

4.4 小結 89

第5章 重搭架構 90

5.1 什麼是重搭架構 90

5.2 將單體應用程式分解為模組 92

5.2.1 案例研究—日誌管理應用程式 92

5.2.2 定義模組和介面 94

5.2.3 構建腳本和依賴管理 95

5.2.4 分拆模組 96

5.2.5 引入Guice 97

5.2.6 Gradle來了 98

5.2.7 結論 98

5.3 將Web應用程式分發到服務 99

5.3.1 再看一下Orinoco.com 99

5.3.2 選擇一個架構 100

5.3.3 繼續採用單體架構 101

5.3.4 前後端分離 103

5.3.5 面向服務架構 106

5.3.6 微服務 108

5.3.7 Orinoco.com應該做什麼 109

5.4 小結 109

第6章 大規模重寫 111

6.1 決定專案範圍 112

6.1.1 專案目標是什麼 112

6.1.2 記錄專案範圍 113

6.2 從過去學習 114

6.3 如何處理資料庫 115

6.3.1 共用現有資料庫 116

6.3.2 創建一個新資料庫 119

6.3.3 應用程式間通信 124

6.4 小結 125

第三部分 重構之外——改善專案工作流程與基礎設施

第7章 開發環境的自動化 129

7.1 工作的第一天 129

7.1.1 搭建用戶活動儀錶盤開發環境 130

7.1.2 出了什麼問題 132

7.2 一個好的README檔的價值 134

7.3 用Vagrant和Ansible對開發環境進行自動化 135

7.3.1 Vagrant介紹 135

7.3.2 為用戶活動儀錶盤項目搭建Vagrant 136

7.3.3 用Ansible進行自動配置 137

7.3.4 添加更多的角色 139

7.3.5 移除對外部資料庫的依賴 141

7.3.6 工作的第一天—再來一次 142

7.4 小結 143

第8章 將自動化擴展到測試環境、預生產環境以及生產環境 144

8.1 自動化基礎設施的好處 145

8.1.1 保證環境一致性 145

8.1.2 易於更新軟體 145

8.1.3 易於搭建新環境 145

8.1.4 支援追蹤配置更改 146

8.2 將自動化擴展到其他環境 146

8.2.1 重構Ansible腳本以處理多種環境 146

8.2.2 為Ansible角色和playbook搭建庫 150

8.2.3 讓Jenkins負責 152

8.2.4 常見問題 154

8.3 移到雲上 155

8.3.1 不可變基礎設施 156

8.3.2 DevOps 156

8.4 小結 157

第9章 對遺留軟體的開發、構建以及部署過程進行現代化 158

9.1 開發、構建以及部署遺留軟體的困難 158  

9.1.1 缺乏自動化 158

9.1.2 過時的工具 160

9.2 更新工具鏈 160

9.3 用Jenkins實現持續集成與自動化 163

9.4 自動發佈和部署 165

9.5 小結 172

第10章 停止編寫遺留代碼 173

10.1 原始程式碼並不是專案的全部 173

10.2 資訊不能是自由的 174

10.2.1 文檔 174

10.2.2 促進溝通 175

10.3 工作是做不完的 176

10.3.1 定期進行代碼評審 176

10.3.2 修復一扇窗戶 176

10.4 自動化一切 177

10.5 小型為佳 178

10.6 小結 180
序: