从一副漫画说编码思维,编码习惯,编码风格 (条件判断,死代码,true 或false)
?漫畫中機器人要殺了人類,但是那個程序員說他并沒有寫代碼讓機器人殺人類啊!!
代碼中確實給isCrazyMurderingRebot賦值了false作為初值,開發者的本意也是永遠不要讓它變為true,永遠不要讓機器人傷害人類,但是事與愿違,就因為本意是作為檢測isCrazyMurderingRebot是否為true的語句,卻變成了賦值語句,isCrazyMurderingRebot = true,導致了isCrazyMurderingRebot永遠為true了,從而挑起了機器人與人類之間的戰爭。:)
從而也引發了編程思維與習慣,風格等問題。
1)如果你不想讓代碼執行,那么最好的辦法就是不要寫它們,就像漫畫中的代碼一樣,如果比不想讓機器人傷害人類,kill(humans)的代碼就不要實現好了。
2)如果出于某些原因,你只是臨時不想讓某些代碼不執行,那么比較好的辦法是讓它沒有機會執行,讓它變成死代碼,而不是有任何的機會復活,比如漫畫中的代碼,改成if(false)就讓其變成徹底的死代碼了。
3)如果非要對兩個值進行比較的話,比較穩妥的方法是常數值放在比較符號的左邊,這樣,如果你不小心少寫了一個=號,編譯器會告訴你錯誤,比如漫畫中的代碼改成if( true = isCrazyMurderingRebot),編譯器就會告訴你少寫了一個=號。
4)對于true和false判斷,強烈建議不要用==來進行判斷,我們以c++為例,只需要簡單地進行if(isCrazyMurderingRebot) 或者if(!isCrazyMurderingRebot)就好了,因為編譯器規定true為非0值,有時候你用==來比較,很有可能不能達到你期望的效果。
?
?
總結
以上是生活随笔為你收集整理的从一副漫画说编码思维,编码习惯,编码风格 (条件判断,死代码,true 或false)的全部內容,希望文章能夠幫你解決所遇到的問題。