软件构造学习笔记-第十三周
本周內容較少,主要介紹了斷言以及防御式編程。斷言一般用于程序開發階段,用以快速發現錯誤,而在程序正式版本中則較少使用斷言。一般來說,程序員使用(輸入)的數據可以使用斷言檢測合法性,而用戶輸入數據則采用異常的機制處理。防御式編程可以提高程序的健壯性,然而也要避免“過度防御”帶來的程序性能下降的負面影響。
斷言
1.斷言用以保證程序正確性;異常用以保證程序健壯性。
2.斷言只是檢查程序的內部狀態是否符合規約(檢查程序員自己的錯誤),一旦出現false程序就停止。但是代碼無法保證不出現外部錯誤,處理外部錯誤需要使用異常。
3.斷言非常影響程序性能,正式版本的程序一般不應出現斷言。
4.使用異常處理“預料到可以發生的”不正常情況;使用斷言處理“絕不該發生”的情況。
5.一般,前置條件使用異常檢測,后置條件使用斷言檢測。
如果參數來自于外部,不受自己控制(比如public方法),使用異常;如果來自于內部(比如private方法),使用斷言。
6.斷言和異常都可以處理同樣的錯誤。
防御式編程的措施
1.防止錯誤輸入
-錯誤輸入,無輸出
-錯誤輸入,提示錯誤信息
-不允許錯誤輸入
2.設置路障
使用特定的類過濾錯誤輸入。public方法收到的外部數據都應被處理后再傳入private方法。類似于代理模式。
有關Debug
1.debug是測試的后續步驟,測試發現問題,debug消除問題。
2.debug的過程:重現->診斷->修復->反思
總結
以上是生活随笔為你收集整理的软件构造学习笔记-第十三周的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件构造学习笔记-第十二周
- 下一篇: 姜汁的功效与作用、禁忌和食用方法