{itemname}
{itemname}
香港二樓書店 > 今日好書推介
魔法森林(《秘密花園》第二集,中文版獨家附贈32頁練習本)
定價93.00元
8
折優惠:
HK$74.4
●二樓推薦
●文學小說
●商業理財
●藝術設計
●人文史地
●社會科學
●自然科普
●心理勵志
●醫療保健
●飲 食
●生活風格
●旅 遊
●宗教命理
●親子教養
●少年讀物
●輕 小 說
●漫 畫
●語言學習
●考試用書
●電腦資訊
●專業書籍
Working Effectively with Legacy Code中文版:管理、修改、重構遺留程式碼的藝術
沒有庫存
訂購需時10-14天
9789864344000
MICHAEL C. FEATHERS
劉未鵬
博碩
2019年8月02日
240.00 元
HK$ 204
詳
細
資
料
ISBN:9789864344000
規格:平裝 / 464頁 / 18.5 x 23 x 2.32 cm / 普通級 / 單色印刷 / 初版
出版地:英國
分
類
電腦資訊
>
程式設計
>
資料結構/演算法
同
類
書
推
薦
提升程式設計的運算思維力 第二版|國際程式設計競賽之演算法原理、題型、解題技巧與重點解析
提升程式設計力|國際程式設計競賽精選解題解析
超圖解 C 語言:用資料結構×演算法突破 APCS
圖說演算法:使用Java【暢銷回饋版】
演算法生存指南
其
他
讀
者
也
買
無瑕的程式碼:敏捷軟體開發技巧守則
內
容
簡
介
【名家名著】19
Robert C. Martin Series
軟體工程師必讀的十大好書之一
《無瑕的程式碼》作者Bob大叔親自撰文推薦!
遺留程式碼是每個coder在職場上幾乎都會遇到的難題,
且讓本書幫助您披荊嶄棘,殺出一條軟體變更的康莊大道!
讓你更能妥善處理你的遺留程式碼:使它有更多表現、更多功能、更具可依賴性以及更易於管理
你的程式碼容易修改嗎?當你修改它的時候,可以即時得到回饋嗎?你了解它的運作嗎?如果有任何一個答案為否定,那麼你面對的就是遺留程式碼,而且它會拖垮你的開發成效,使你浪費更多寶貴的時間與金錢。
在本書中,MICHAEL C. FEATHERS提供了許多整套的策略,使讀者能夠更有效率地使用遺留程式碼,以及未經測試的遺留code base。這本書取材於作者為他知名的Object Mentor研討會所撰寫的內容。作者在指導時所提到的技巧,已經幫助數以百計的開發者、技術管理者以及測試人員,使他們的遺留系統維持在掌控之中。
本書內容包括:
?了解軟體修改的機制:增加特性、修正bug、改善設計、調整性能。
?使遺留程式碼進入測試控制工具(test harness)。
?編寫測試來保護你免於引入新的問題。
?可用於任何語言或平台的技術──以Java、C++、C與C#為範例。
?正確分辨程式碼應該修改的地方。
?處理非物件導向的遺留系統。
?處理看來似乎沒有任何結構的應用程式。
這本書也包含24個解依賴技術的目錄,可協助你讓程式的要素獨立,並且使變動更加安全。
目
錄
Part I 修改機制
Chapter 1 修改軟體
1.1 修改軟體的四個起因
1.2 危險的修改
Chapter 2 帶著回饋工作
2.1 什麼是單元測試
2.2 高層測試
2.3 測試覆蓋
2.4 遺留程式碼修改演算法
Chapter 3 感測和分離
3.1 偽裝成合作者
Chapter 4 接縫模型
4.1 一大段文字
4.2 接縫
4.3 接縫類型
Chapter 5 工具
5.1 自動化重構工具
5.2 仿物件
5.3 單元測試控制工具
5.4 一般測試控制工具
Part II 修改程式碼的技術
Chapter 6 時間緊迫,但必須修改
6.1 新生方法
6.2 新生類別
6.3 外覆方法
6.4 外覆類別
6.5 小結
Chapter 7 漫長的修改
7.1 理解程式碼
7.2 時滯
7.3 解依賴
7.4 小結
Chapter 8 添加特性
8.1 測試驅動開發
8.2 差異式程式設計
8.3 小結
Chapter 9 無法將類別放入測試控制工具之中
9.1 令人惱火的參數
9.2 隱藏依賴
9.3 構造塊
9.4 惱人的全域依賴
9.5 可怕的包含依賴
9.6 「洋蔥」參數
9.7 化名參數
Chapter 10 無法在測試控制工具中執行方法
10.1 隱藏的方法
10.2 「有益的」語言特性
10.3 無法探知的副作用
Chapter 11 修改時應當測試哪些方法
11.1 推測程式碼修改所產生的影響
11.2 前向推測
11.3 影響的傳播
11.4 進行影響推測的工具
11.5 從影響分析當中學習
11.6 簡化影響結構示意圖
Chapter 12 在同一個地方進行多處修改,是否應該將所有相關的類別都解依賴
12.1 攔截點
12.2 透過匯點來判斷設計的好壞
12.3 匯點的陷阱
Chapter 13 修改時應該怎樣寫測試
13.1 特徵測試
13.2 刻畫類別
13.3 目標測試
13.4 編寫特徵測試的啟發式方法
Chapter 14 棘手的函式庫依賴問題
Chapter 15 到處都是API 呼叫
Chapter 16 對程式碼的理解不足
16.1 註記/草圖
16.2 清單標註
16.3 草稿式重構
16.4 刪除不用的程式碼
Chapter 17 程式毫無結構可言
17.1 講解系統的故事
17.2 Naked CRC
17.3 反省你們的交流或討論
Chapter 18 測試程式碼礙手礙腳
18.1 類別命名約定
18.2 測試程式碼放在哪裡
Chapter 19 對非物件導向的專案,如何安全地對它進行修改
19.1 一個簡單的案例
19.2 一個棘手的案例
19.3 添加新行為
19.4 利用物件導向的優勢
19.5 一切都是物件導向
Chapter 20 處理大類別
20.1 職責識別
20.2 其他技術
20.3 繼續前進
20.4 類別提取之後
Chapter 21 需要修改大量相同的程式碼
21.1 開始步驟
Chapter 22 要修改一個巨型方法,卻沒辦法為它編寫測試
22.1 巨型方法的種類
22.2 利用自動重構支援來對付巨型方法
22.3 手動重構的挑戰
22.4 策略
Chapter 23 降低修改的風險
23.1 超感編輯(Hyperaware Editing)
23.2 單一目標的編輯
23.3 簽章保持
23.4 依靠編譯器
Chapter 24 當你感到絕望時
Part III 解依賴技術
Chapter 25 解依賴技術
25.1 參數適配
25.2 分解出方法物件
25.3 定義補全
25.4 封裝全域參照
25.5 暴露靜態方法
25.6 提取並覆寫呼叫
25.7 提取並覆寫工廠方法
25.8 提取並覆寫獲取方法
25.9 實作提取
25.10 介面提取
25.11 引入實例委託
25.12 引入靜態設置方法
25.13 連接替換
25.14 參數化建構子
25.15 參數化方法
25.16 樸素化參數
25.17 特性提升
25.18 依賴下推
25.19 換函數為函數指標
25.20 以獲取方法替換全域參照
25.21 子類別化並覆寫方法
25.22 替換實例變數
25.23 模板重定義
25.24 文字重定義
Appendix 重構
方法提取
術語表
書
評
其 他 著 作