assert vs Defensive programming
生活随笔
收集整理的這篇文章主要介紹了
assert vs Defensive programming
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
???? Defensive programming 是程序員一般使用的編程方式,也就是對所有有可能(也許是在設計邏輯上沒有可能出現的值)的出現的錯誤進行處理。但這種編程方式會在調試階段隱瞞錯誤。要記住,我們編寫程序的目的是編寫無錯的代碼,是要讓所有的錯誤不應該再發生,而不是每次去安全處理發生的錯誤,所以Defensive programming和編寫無錯程序的理念有點矛盾。但 Defensive programming 也是有價值,對所有這些錯誤做以防萬一的處理。
?
????? 所以我們程序員在編寫代碼時,既要使用Defensive programming 來安全處理錯誤,也要讓錯誤盡早暴露出來,可以一方面用Defensive programming 進行編碼,一方面在錯誤發生時用assert報警。這樣就可以在調試版本中對錯誤進行報警,而在發布版對錯誤安全恢復。
????? 要對程序中不可能發生的情況進行assert檢查,可以盡早暴露錯誤。
????? assert應該用來檢測程序在任何環境下正常工作都不可能發生的錯誤,只匯報錯誤,不預防不更正錯誤,對于那些在正常使用有可能出現的異常(如malloc失敗),則要用防錯程序處理。
總結
以上是生活随笔為你收集整理的assert vs Defensive programming的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 滤镜——水彩画效果——花卉
- 下一篇: H5+壳开发