凝聚作者十余年的思考與實踐,從異常處理的設計與重構入手,介紹了如何提升軟件的健壯性。全書共六部分,從異常處理的現狀談起,逐一條分縷析,闡述異常處理的基本概念、工作機制、異常處理的4+1觀念,介紹軟件健壯度等級和異常處理策略,討論異常處理的壞味道和重構。
作者陳建村以詼諧幽默的文筆,於談笑間揭示異常處理的來龍去脈,兼顧實用性和趣味性,非常適合善於思考和勤於實踐的軟件工程師閱讀,也適合軟件學院和計算機相關專業學生參考。
陳建村,泰迪軟件(Teddysoft)的創辦人,從事敏捷開發顧問、教育訓練、軟件工具導入服務。畢業於台北科技大學機電科技研究所(信息組)博士班,是一位熱衷於軟件開發與經驗分享的、實事求是的軟件工程師。Teddy有超過17年開發商業軟件以及參與軟件研究項目的經驗,曾發表30余篇國內外期刊與研討會論文。他曾擔任程序開發人員、技術總監、敏捷項目經理、軟件架構師、敏捷顧問、敏捷課程講師。對於未來,Teddy有一個夢想,希望改變人們開發軟件的方法,讓軟件開發真正成為愉快而有趣的工作於創作過程。
目錄
Part 1 異常處理的現狀
Chapter 01 你對異常處理的了解有多少?
02 異常處理的重要性
03 「種花」電信,我真是猜不透你啊!
04 HTC One X—— 發現一個Bug
05 HTC One X—— 我只是想打通電話呀!
06 HTC One X—— 拍照的錯誤消息描述
07 可靠性可以是一門生意
Column A.倒霉的人很適合當神秘客
Part 2 異常處理的基本觀念
Chapter 08 強健性大戰首部曲—— 魅影危機
Column B.找不到數據,要傳回Null還是丟出異常?
09 異常處理的四種脈絡
10 面向對象語言的異常處理機制
11 你的汽車有多耐撞?談談異常安全性
12 對比異常處理和容錯設計
Column C.網絡又斷了
Part 3 JAVA語言的異常處理機制
Chapter 13 Java的異常處理
14 我的異常被finally塊覆蓋了
15 被打壓的異常—— 搶救異常大作戰
16 清理失效的語義要表達清楚
17 自己制作「被打壓的異常」
18 Try、Catch和Finally的責任分擔
Column D.這是你的問題,不是我的問題
Chapter 19 異常處理失敗,怎麼辦?
20 已查異常與未查異常的語義與問題
21 接口演進
Part 4 為什麼異常處理那麼難?異常處理的4+1觀點
Chapter 22 用途觀點
23 設計觀點
24 處理觀點
25 工具支持觀點
26 流程觀點
Column E.你如何評價成功
Part 5 強健度等級與異常處理策略
Chapter 27 異常處理設計的第一步—— 決定強健度等級
28 強健度等級1—— 錯誤報告的實現策略
29 強健度等級2—— 狀態恢復的實現策略
30 強健度等級3—— 行為恢復的實現策略
Column F.VMWare越獄之替代方案
Chapter 31 異常類的設計與使用技巧
32 終止或繼續
33 自動化更新
Column G.升級、降級,傻傻分不清楚
Part 6 異常處理壞味道與重構
Chapter 34 異常處理壞味道
Column H.仙人打鼓有時錯—— 談談Clean Code一書中介紹的異常處理
Chapter 35 用異常代替錯誤碼
36 以未查異常取代忽略已查異常
37 以重新丟出異常代替空的處理程序
38 使用最外層Try語句避免意外終止
39 以函數取代嵌套的Try語句
40 引入Checkpoint類
41 引入多才多藝的Try塊
Column I.客戶滿意,老板賺錢,你護肝
Chapter 42 一個函數只能有一個Try語句
Column J.眼力測試
Appendix A.眼力測試參考答案
參考文獻
Chapter 01 你對異常處理的了解有多少?
02 異常處理的重要性
03 「種花」電信,我真是猜不透你啊!
04 HTC One X—— 發現一個Bug
05 HTC One X—— 我只是想打通電話呀!
06 HTC One X—— 拍照的錯誤消息描述
07 可靠性可以是一門生意
Column A.倒霉的人很適合當神秘客
Part 2 異常處理的基本觀念
Chapter 08 強健性大戰首部曲—— 魅影危機
Column B.找不到數據,要傳回Null還是丟出異常?
09 異常處理的四種脈絡
10 面向對象語言的異常處理機制
11 你的汽車有多耐撞?談談異常安全性
12 對比異常處理和容錯設計
Column C.網絡又斷了
Part 3 JAVA語言的異常處理機制
Chapter 13 Java的異常處理
14 我的異常被finally塊覆蓋了
15 被打壓的異常—— 搶救異常大作戰
16 清理失效的語義要表達清楚
17 自己制作「被打壓的異常」
18 Try、Catch和Finally的責任分擔
Column D.這是你的問題,不是我的問題
Chapter 19 異常處理失敗,怎麼辦?
20 已查異常與未查異常的語義與問題
21 接口演進
Part 4 為什麼異常處理那麼難?異常處理的4+1觀點
Chapter 22 用途觀點
23 設計觀點
24 處理觀點
25 工具支持觀點
26 流程觀點
Column E.你如何評價成功
Part 5 強健度等級與異常處理策略
Chapter 27 異常處理設計的第一步—— 決定強健度等級
28 強健度等級1—— 錯誤報告的實現策略
29 強健度等級2—— 狀態恢復的實現策略
30 強健度等級3—— 行為恢復的實現策略
Column F.VMWare越獄之替代方案
Chapter 31 異常類的設計與使用技巧
32 終止或繼續
33 自動化更新
Column G.升級、降級,傻傻分不清楚
Part 6 異常處理壞味道與重構
Chapter 34 異常處理壞味道
Column H.仙人打鼓有時錯—— 談談Clean Code一書中介紹的異常處理
Chapter 35 用異常代替錯誤碼
36 以未查異常取代忽略已查異常
37 以重新丟出異常代替空的處理程序
38 使用最外層Try語句避免意外終止
39 以函數取代嵌套的Try語句
40 引入Checkpoint類
41 引入多才多藝的Try塊
Column I.客戶滿意,老板賺錢,你護肝
Chapter 42 一個函數只能有一個Try語句
Column J.眼力測試
Appendix A.眼力測試參考答案
參考文獻
網路書店
類別
折扣
價格
-
新書87折$360