一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

使用斷言保護(hù)你的代碼

 東北十三少 2021-02-18

大多數(shù)程序員對(duì)于自己編寫的代碼都是非常自信的。他們相信自己編寫的代碼,那些低級(jí)的問題在他的代碼中是不可能發(fā)生的。

比如,他們相信:

  • 這些代碼不會(huì)被用上30年,所以用兩位數(shù)字表示日期沒問題。

  • 這個(gè)應(yīng)用決不會(huì)在國(guó)外使用,那么為什么要使其國(guó)際化?

  • count不可能為負(fù)。

  • 這個(gè)printf不可能失敗。

但是這些不可能發(fā)生的事情在某種特定的情況下死也是有可能發(fā)生的。

所以,優(yōu)秀的程序員不是用嘴來(lái)斷言的,他們會(huì)在程序中使用斷言來(lái)檢查這些不可能發(fā)生的情況。

如果它不可能發(fā)生,用斷言確保它不會(huì)發(fā)生。

在大多數(shù)C和C++實(shí)現(xiàn)中,程序員都能找到用于斷言的工具——assert或_assert宏。程序員可以使用他們來(lái)檢查那些不可能發(fā)生的情況是否真的不會(huì)發(fā)生。

比如:

如果要確認(rèn)傳入的指針不應(yīng)該是NULL,那么就檢查它:

如果要檢查一個(gè)排序算法是否能正常工作,也可以使用斷言:

當(dāng)斷言失敗的時(shí)候會(huì)調(diào)用錯(cuò)誤處理器或者生成異常,這意味著不該發(fā)生的情況發(fā)生了。程序員需要就此分析并查找原因,修改代碼直至斷言成功。

通過使用斷言對(duì)編碼時(shí)的各種假設(shè)進(jìn)行檢查和驗(yàn)證,這可以使得代碼避免很多的錯(cuò)誤。

這正是:

編程假設(shè)有很多,不聞不問理不合

使用斷言來(lái)判定,減少錯(cuò)誤獲益多

參考書目:程序員修煉之道:從小工到專家,作者:(美)亨特(Hunt,A.),(美)托馬斯(Thomas,D.),出版社:電子工業(yè)出版社

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    精品国产亚洲av成人一区| 美女激情免费在线观看| 欧美丰满大屁股一区二区三区| 国产丝袜极品黑色高跟鞋| 一区二区三区亚洲天堂| 日本不卡一区视频欧美| 亚洲欧美黑人一区二区| 一级片黄色一区二区三区| 日韩综合国产欧美一区| 国产av一区二区三区四区五区| 亚洲午夜福利不卡片在线| 国产三级黄片在线免费看| 色综合视频一区二区观看| 欧美日韩国产精品第五页| 91香蕉视频精品在线看| 国产成人国产精品国产三级| 91免费一区二区三区| 日韩亚洲精品国产第二页| 激情五月天免费在线观看| 久久精品亚洲欧美日韩| 婷婷伊人综合中文字幕| 微拍一区二区三区福利| 国产大屁股喷水在线观看视频 | 日本深夜福利视频在线| 激情综合网俺也狠狠地| 色哟哟精品一区二区三区| 久久婷婷综合色拍亚洲| 深夜日本福利在线观看| 亚洲国产精品肉丝袜久久| 国产一级内片内射免费看| 日韩欧美综合在线播放| 国产视频福利一区二区| 日韩1区二区三区麻豆| 日本欧美一区二区三区就| 国产av一区二区三区四区五区| 亚洲中文字幕剧情在线播放| 国产精品免费视频久久| 日韩国产传媒在线精品| 高清亚洲精品中文字幕乱码| 亚洲另类女同一二三区| 暴力三级a特黄在线观看|