防御性編程:
使用哨兵機(jī)制,減少對于邊界情況的判斷淳梦。例如:數(shù)組中,搜尋某個元素是否出現(xiàn)昔字,可以將其放在arr[0]中爆袍,然后從后往前遍歷數(shù)組,知道arr[i] == targe時結(jié)束李滴。因?yàn)槠浔囟〞Y(jié)束螃宙,故而不用判斷邊界。最后只要判斷是否i等于0所坯,如果i==0說明在數(shù)組中找不到目標(biāo)值谆扎。
防御性編程便是在數(shù)組,鏈表頭等加入沉默元素芹助,減少對于邊界情況的判斷堂湖,對于帶頭節(jié)點(diǎn)的鏈表也是使用了同樣的思維。
防御性編程核心便是邊界情況的判斷状土,故而是序列中的最前最后需要進(jìn)行操作无蜂。