防禦式程式設計

2021-08-28 01:22:04 字數 708 閱讀 6052

檢查所有**於外部的資料的值,檢查輸入值的合法性,與我們在註冊資訊是的正規表示式類似。

斷言一般用於開發和維護階段,斷言為真,程式正常執行,斷言為假,程式出錯。斷言只在開發階段被編譯到目標**中,在生產產品中不編譯進去。

使用斷言的指導意見

斷言是用來檢查永遠不該發生的情況,比如我們對於年齡的檢查,年齡不能是個負數。用於檢查**中的bug。錯誤處理**用來檢查一些可能會出現的非正常情況。比如對年齡為負數的情況進行處理等。

避免把需要執行的**放在斷言中,因為當為執行斷言時,裡面的**也就不能正常執行了。

錯誤處理技術

可以考慮的方法有

返回中立值,也就是乙個合法範圍內的值

換用下乙個正確的值,比如記錄當前溫度的數值

換用最接近的合法值,比如年齡為負時,可以用0或1替代

把警告資訊記錄到日誌檔案中返回乙個錯誤碼,比如404

當錯誤發生時顯示出錯訊息,比如使用try..except,出現異常時輸出異常資訊

直接關閉程式

防禦式程式設計

防禦式程式設計 防禦式程式設計的主要思想是 子程式應該不因傳入錯誤資料而被破壞,哪怕是由其他子程式產生的錯誤資料。更一般地說,其核心思想是要承認程式都會有問題,都需要修改,聰明的程式設計師應該根據這一點來程式設計序。我們心裡應該自始至終考慮各種各樣的錯誤處理機制 在區域性處理錯誤 使用錯誤碼來傳遞錯...

防禦式程式設計

場景 交易終端支援市中核算,必須需要處理當日的委託和成交資料,現系統的委託和成交在本地快取和遠端快取中各有乙份。思路 核算優先使用本地快取,本地快取不存在那麼就 防禦式 取遠端快取。實現package demo.design.defensive 專案 demo design defensive 場景...

防禦式程式設計(二)

防禦式程式設計是提高軟體質量技術的有益輔助手段。防禦式程式設計的主要思想是 子程式應該不因傳入錯誤資料而被破壞,哪怕是由其他子程式產生的錯誤資料。這種思想是將可能出現的錯誤造成的影響控制在有限的範圍內。1.在非法輸入 invalid inputs 中保護你的程式 乙個好程式,在非法輸入的情況下,要麼...