Assert 在 程 式 設 計 裡 的 意 思 是「我 確 定 就 是 這 樣,如 果 不
是 這 樣 請 通 知 我」, 舉 例 來 說 :
Debug.Assert N <> 0 x = Sum / N 其 作 用 是「我 確 定 N 一 定 不 等 於 0,若 N 等 於 0 ,則 中 斷 程 式」,為 什 麼 要 這 麼 寫 呢 ? 由 於 程 式 撰 寫 者 十 分 有 信 心 ...之前程式 一定 不 會 造 成 N = 0,所 以 他 不 願 意 這 麼 寫 : If N <> 0 Then 因 為 這 麼 寫 執 行 效 能 比 較 差,而 且 使 用 了 太 多 If-EndIf,程 式 也 會 變 得 不 好 看,使 用 Debug.Assert 在 測 試 階 段 雖 然 也 等 於 If 判 斷 式 , 但 此 一 敘 述 並 不 會 編 譯 到 執 行 檔 之中 , 因 此 最 後 的 執 行 檔 其 執 行 效 能 會 比 含 有 If 判 斷 式 的 程 式 來 得 高 。 |