防護式編程

Defensive programmingc++

好好思考下數組

 

至少在個人實踐工做中,深受其害的就是沒有檢查數組被索引時(c/c++)可能致使越界這個問題;lua

其次在一些腳本語言中,像是lua,越界時,現場並沒有大礙,只是返回一個nil給你。可是若是你在隨後處理的過程當中,沒有對這個可能會是nil的返回作一些錯誤處理的話,後果可能一發不可收拾索引

 

舉個例子:支持熱更新的遊戲,可能會出現兩個玩家一塊兒玩,可是其中一個玩家更新了最新的代碼和資源,另外一個由於一直在遊戲中游玩,因此他尚未更新最新的代碼和資源。這個時候就會出現當要讀取某個配置文件裏的字段時(最新的版本纔有),另外一個沒有更新的玩家,天然就不存在這個字段。這個時候若是不檢查參數的合法性的話,天然就悲劇了。遊戲

相關文章
相關標籤/搜索