l

2014年5月15日 星期四

[新書預購] 《笑談軟體工程:例外處理設計的逆襲》5月20日即將出版

May 14 21:12~21:41

SKNA00005_cover

 

Teddy的新書《笑談軟體工程:例外處理設計的逆襲》終於在今天(5月14日)送印,預計5月20日上市。別說鄉民等了很久,就連Teddy自己都等了好久啊挑眉質疑。目前在「天瓏書局」有舉辦預購活動,特價78折,有需要的鄉民們可以參考一下。

今天把書的目錄貼出來讓鄉民們瞭解本書的內容大概在講些什麼東東:

Part 1 例外處理的現況
01 你對例外處理的了解有多少? 3
02 例外處理的重要性 5
03 種花電信,我真是猜不透你啊 13
04 HTC One X—發現一個Bug 21
05 HTC One X—我只是想打通電話呀 25
06 HTC One X—拍照的錯誤訊息描述 31
07 可靠性可以是一門生意 37
Column A. 帶賽的人很適合當神秘客 41


Part 2 例外處理基本觀念
08 強健性大戰首部曲—威脅潛伏 49
Column B. 找不到資料,要傳回Null還是丟出Exception? 56
09 例外處理的四種脈絡 59

10 物件導向語言的例外處理機制 71
11 你的汽車有多耐撞?談談例外安全性 89
12 例外處理VS.容錯設計 93
Column C. 網路又斷了 98


Part 3 Java語言的例外處理機制
Java的Try、Catch、Finally 105
14 我的例外被Finally Block蓋台了 115
15 Suppressed Exception—搶救例外大作戰 121
16 表達清楚的Cleanup Failure語意 127
17 自己製作Suppressed Exception 137
18 Try、Catch、Finally的責任分擔 151
Column D. 這是你的問題,不是我的問題 160
19 例外處理失敗怎麼辦? 165
20 Checked與Unchecked例外的語意與問題 169
21 介面演進 175

Part 4 為什麼例外處理那麼難?例外處理的4+1觀點
22 用途觀點 185
23 設計觀點 189
24 處理觀點 193
25 工具支援觀點 197
26 流程觀點 205
Column E. 你如何評價成功 213
Part 5 強健度等級與例外處理策略
例外處理設計的第一步—決定強健度等級 219
28 強健度等級1—錯誤回報的實作策略 229
29 強健度等級2—狀態回復的實作策略 235
30 強健度等級3—行為回復的實作策略 243
Column F. VMWare越獄之替代方案 251
31 例外類別設計與使用技巧 257
32 終止或繼續 269
33 自動化更新 273
Column G. 升級、降級,傻傻分不清楚 277

Part 6 例外處理壞味道與重構
34 例外處理壞味道 285
Column H. 仙人打鼓有時錯—談談Clean Code的例外處理 293
35 用例外代替錯誤碼 299
36 以非受檢例外取代忽略受檢例外 307
37 以非受檢例外取代虛設的例外處理程序 313
38 使用最外層Try敘述避免意外終止 319
39 以函數取代巢狀Try敘述 325
40 引入檢查點類別 333
41 引入多才多藝的Try區塊 341
Column I. 客戶滿意,老闆賺錢,你護肝 349
42 一個函數只能有一個Try敘述 359
Column J. 視力測驗 365
Appendix A 視力測驗參考答案 373

***

以上,敬請批評指教。讀本書若搭配Teddy特製的「例外處理馬克杯」一併服用,藥效更佳熱戀。馬克杯一個 450 元,運費 60元 (可自取免運費),一次購買兩個免運費。若要購買馬克杯請將費用匯入泰迪軟體帳戶,並來信 service@teddysoft.tw 告知轉帳代號與您的郵寄地址和收件人姓名。

螢幕截圖 2014-05-05 18.00.52

ATM 轉帳

銀行代號 008 (華南銀行)

帳號:113100159221

匯  款

銀行名稱:華南銀行 新生分行 

戶名:泰迪軟體科技有限公司   帳號:113100159221

***

友藏內心獨白:馬克杯正在加緊製作中。

6 則留言:

  1. 酷斃了 ~ 一定買

    回覆刪除
  2. 已上天瓏預購了,期待中......

    Rigs

    回覆刪除
  3. 請問:
    1. P171, L15: "using runtime exceptions" 裡的 "runtime" 是正確的, 還是改為 "unchecked" 才對?
    2. P222, 表27-1: "行為回復 (State-recovery)" 的英文跟 "狀態回覆 (State-recovery)" 的英文是一樣的, 這是typo還是?

    感謝!

    回覆刪除
    回覆
    1. Hi Crazy,

      哇,您看到好仔細啊,讚。p. 171 頁的 using runtime exceptions for programming errors 是正確的,這是 Effective Java 書裡面的寫法。在Java語言,runtime exception 就是一種 unchecked exception,在此可以暫時當成同義字。

      p222 表27-1 是 typo...抱歉,在排版與校正的過程中應該是出了問題而改錯了,謝謝您的提醒。




      刪除
  4. 請問:
    在視力測試驗的第六題,對解答有點疑惑

    此題解答為B : error表示一個函數無法如其規格所描述,提供正確的服務。
    在error定義的部分,Ch. 8是說明為 "Error指的是軟體元件內部處於錯誤狀態,此狀態會使該元件執行失敗"。
    而表示一個函數無法如其規格所描述,提供正確的服務看起來比較像是Failure的定義。

    回覆刪除
    回覆
    1. 答案是D沒錯,排版的時候打錯了。您還真認真啊,給您一個讚,謝謝。

      刪除