Defensive programming -- Code complete reading notes(8)
生活随笔
收集整理的這篇文章主要介紹了
Defensive programming -- Code complete reading notes(8)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
子程序不應該因傳入錯誤的數(shù)據(jù)而被破壞,哪怕是由其它子程序產(chǎn)生的錯誤數(shù)據(jù)。
1、檢查所有來源于外部的數(shù)據(jù)
2、檢查子程序所有輸入?yún)?shù)的值
3、決定如何處理錯誤的輸入數(shù)據(jù)
使用斷言
1、用錯誤處理代碼來處理預期會發(fā)生的錯誤,使用斷言來處理絕不會發(fā)生的狀況
2、避免把需要執(zhí)行的代碼放在斷言中
3、用斷言來注釋并驗證前條件和后條作
4、應該先使用斷言再處理錯誤
錯誤處理技術
1、返回中立值
2、換用下一個正確的數(shù)據(jù)
3、返回與前次相同的數(shù)據(jù)
4、換用最接近的合法值
5、記日志
6、返回一個錯誤碼
7、調(diào)用錯誤處理子程序或?qū)ο?br />8、顯示出錯消息
9、在局部處理數(shù)據(jù)
10、關閉程序
錯誤處理方式有時更側(cè)重于正確性,有時則更側(cè)重于健壯性
應該在恰當?shù)某橄髮哟螔伋霎惓?#xff0c;確保異常的抽象層次與子程序接口的抽象層次一致,不應把更低層的異常傳遞給其調(diào)用方,暴露了一些實現(xiàn)細節(jié)。
總結(jié)
以上是生活随笔為你收集整理的Defensive programming -- Code complete reading notes(8)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智能安全实验室-杀马(Defendio)
- 下一篇: 掌握 Ajax,第 4 部分: 利用 D