斷言 (編程)
外表
編程上講嘅斷言係一種檢查電腦程式狀態嘅布林式語句。簡單嚟講,斷言就好似一個個假設:喺實際應用上,程式運行嗰時往往會作出某啲假設,譬如係假設某某變數等如某個數值,而若果個假設唔成立,個程式繼續行落去就會出錯。於是編程員就加返一句斷言,程式行到去斷言嗰度嘅時候,若果條件成立,就咩都唔會發生,程式照常繼續行,但若果條件唔成立,就會觸發錯誤,話俾開發者知程式出現咗唔合理嘅情況[1]。
基本概念
[編輯]睇埋:防禦式編程
斷言可以噉定義:斷言係布林表達式,會設喺程式嘅某啲點度;如果程式嘅運行無誤,斷言會出真確(true
)[2]。
舉例說明,以下嘅源碼包含咗兩個斷言,x > 0
同 x > 1
,而且喺執行過程中指定嘅位置,佢哋都確實係真:
x = 1;
assert x > 0;
x++;
assert x > 1;
編程員可以用斷言嚟幫手描述程式,亦都可以用嚟推理程式係咪正確。
再睇
[編輯]引述
[編輯]- ↑ Assertions in C/C++
- ↑ Use of Assertions by John Regehr
拎
[編輯]- (英文)Assertions 嘅使用 by John Regehr