軟體構造學習筆記 第十三周

2021-10-06 11:45:32 字數 713 閱讀 6927

本週內容較少,主要介紹了斷言以及防禦式程式設計。斷言一般用於程式開發階段,用以快速發現錯誤,而在程式正式版本中則較少使用斷言。一般來說,程式設計師使用(輸入)的資料可以使用斷言檢測合法性,而使用者輸入資料則採用異常的機制處理。防禦式程式設計可以提高程式的健壯性,然而也要避免「過度防禦」帶來的程式效能下降的負面影響。

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...