2015年1月31日 星期六

程式的強健度等級

2015/1/31 20:23-21:22

今天來講一下程式的強健度等級,強健等級分為四級,分別為等級零、等級一、等級二、等級三,共四個等級。





等級零 (G0):
沒有任何例外處理,一般工程師在時間緊迫的情況下,只會實作正常流程,毫無考慮及處理異常流程,當異常流程發生時運氣好則程式崩潰,工程師可直接複製情境解決問題,運氣不好不知道怎麼複製情境,也就只能燒香拜拜,祈禱它下次不要再出現。

等級一 (G1):
異常發生就須通報使用者且終止程式。問題發現的越快也就能修正的越快。

等級二 (G2):
假設現在有個函式無法達成所規範的規格,就必須把狀態回復到還沒執行這個函式的正常狀態。

等級三 (G3):
是個使命必達的FU。達成目的的方法有很多路徑,執行一個路徑失敗,就換成另一種路徑試試看;或者一直重試,試到規範的次數,如果還是失敗才不得放棄。



強健度等級是個逐步升級的過程,如果升級不成,就只能降級處理啦!原本強健度等級3的如果無法使命必達,只好採取等級2的策略,將狀態恢復到還沒執行函式的正常狀態,降等級2不成就只好繼續往等級1降,將異常回報給使用者且終止程式。


以上圖片擷取自



更精采的內容請參考Teddy的博士論文<<Exception Handling Refactorings: Directed by Goals and Driven by Bug Fixing>>,如果不想看英文版也沒關係,還有特別整理過的中文版<<例外處理設計的逆襲>>


原來例外處理還有這麼深的學問啊!

沒有留言:

張貼留言