五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

《我的來世是個包裹》開發(fā)日志0324

2020-03-25 21:56 作者:紫數(shù)  | 我要投稿

又發(fā)現(xiàn)了自己之前一個很不好的編程習(xí)慣……就是if條件判斷喜歡用&&把各個條件合并到一起。其實更健康的做法是寫兩層if。

拿《我的來世是個包裹》的代碼來舉例。有一段代碼是這樣的:

? ? ? ? ? ? ? ? ? ? if (isStoryModeOn && !GameSlot.IsMsgBoxOn)

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? UpdateShowStorySpeak();

? ? ? ? ? ? ? ? ? ? ? ? CheckMissionComplete();

? ? ? ? ? ? ? ? ? ? ? ? CheckItemInAndOut();

? ? ? ? ? ? ? ? ? ? ? ? CheckExitStoryParagraph();

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? AutoSave();

? ? ? ? ? ? ? ? ? ? }

意思是,非故事模式(調(diào)試模式下)調(diào)用自動存檔判斷方法(存檔時間間隔在AutoSave方法里處理了,不寫在外面),故事模式下且消息框不彈出的時候執(zhí)行各個邏輯檢測流程。

我很驚訝之前放著邏輯漏洞那么大的代碼無視。明顯不能這么寫。這樣會導(dǎo)致故事模式下只要一彈出對話框就會自動保存,我腦子真的有坑。正確的寫法是:

? ? ? ? ? ? ? ? ? ? if (isStoryModeOn)

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? if (!GameSlot.IsMsgBoxOn)

? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? UpdateShowStorySpeak();

? ? ? ? ? ? ? ? ? ? ? ? ? ? CheckMissionComplete();

? ? ? ? ? ? ? ? ? ? ? ? ? ? CheckItemInAndOut();

? ? ? ? ? ? ? ? ? ? ? ? ? ? CheckExitStoryParagraph();

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? AutoSave();

? ? ? ? ? ? ? ? ? ? }

沒錯,
?if (條件1?&&?條件2)? {語句1;語句2;……;語句n}

?if (條件1)?{ if(條件2){語句1;語句2;……;語句n}}
是等價的。
但是
?if (條件1?&&?條件2)? {語句1;語句2;……;語句n;}else{語句m;}

?if (條件1)?{ if(條件2){語句1;語句2;……;語句n}}else{語句m;}
完全不等價!

看了下面這張圖你們就明白了:


基本功不扎實的下場……

《我的來世是個包裹》開發(fā)日志0324的評論 (共 條)

分享到微博請遵守國家法律
咸宁市| 长沙市| 故城县| 民丰县| 阳谷县| 铜鼓县| 繁昌县| 南岸区| 黄石市| 阿鲁科尔沁旗| 西和县| 高雄市| 廊坊市| 鄂尔多斯市| 太谷县| 凤冈县| 海安县| 保定市| 民勤县| 汝州市| 长治县| 永兴县| 集贤县| 阿坝| 玉门市| 仁布县| 镇康县| 吴旗县| 大渡口区| 迁西县| 涟水县| 兴宁市| 老河口市| 井冈山市| 临清市| 南华县| 屏南县| 廊坊市| 吉木乃县| 和田市| 梁河县|