本週內容較少,主要介紹了斷言以及防禦式程式設計。斷言一般用於程式開發階段,用以快速發現錯誤,而在程式正式版本中則較少使用斷言。一般來說,程式設計師使用(輸入)的資料可以使用斷言檢測合法性,而使用者輸入資料則採用異常的機制處理。防禦式程式設計可以提高程式的健壯性,然而也要避免「過度防禦」帶來的程式效能下降的負面影響。
1.斷言用以保證程式正確性;異常用以保證程式健壯性。
2.斷言只是檢查程式的內部狀態是否符合規約(檢查程式設計師自己的錯誤),一旦出現false程式就停止。但是**無法保證不出現外部錯誤,處理外部錯誤需要使用異常。
3.斷言非常影響程式效能,正式版本的程式一般不應出現斷言。
4.使用異常處理「預料到可以發生的」不正常情況;使用斷言處理「絕不該發生」的情況。
5.一般,前置條件使用異常檢測,後置條件使用斷言檢測。
如果引數來自於外部,不受自己控制(比如public方法),使用異常;如果來自於內部(比如private方法),使用斷言。
6.斷言和異常都可以處理同樣的錯誤。
1.防止錯誤輸入
-錯誤輸入,無輸出
-錯誤輸入,提示錯誤資訊
-不允許錯誤輸入
2.設定路障
使用特定的類過濾錯誤輸入。public方法收到的外部資料都應被處理後再傳入private方法。類似於**模式。
1.debug是測試的後續步驟,測試發現問題,debug消除問題。
2.debug的過程:重現->診斷->修復->反思
第十三周學習筆記
當my sql安裝完成以後,我們需要探索它的安全性 首先,先嘗試建立資料庫等操作,用show語句檢視已經存在的資料庫,如下圖所示 如圖所示,也可以檢視建立好的itcast資料庫的資訊 首先,建立使用者 mysql 加入 administrators 組 使用create user語句建立使用者 右邊...
第十三周筆記
折半查詢法 順序查詢法 include include define list size 20 define keytype int typedef struct recordtype typedef struct recordlist int binsrch recordlist l,keytyp...
第十三周學習總結
這周學習的是怎麼將靜態檔案在django中顯示 首先要確定它們所在的位置 project01 與 static在同乙個根目錄下 然後需要修改settings.py,是上圖中所選的py檔案 本來的檔案是 static url static static root os.path.join base d...