if(a==0) {
// do something
}
通常是左手邊變數,右手邊常數。不過寫C/C++最常犯的bug之一,就是相等比較的2個=常常會不小心少寫一個=寫成assignment的一個等於。如下if(a=0) {
// do something
}
這可是差很多的! 由於在語法上完全合法,所以並不會有compile error。有些compiler會吐warning出來,但是有些不會。忽略這個錯誤將會造成debug時的痛苦...下面的coding小技巧可以幫助避免這樣的事情發生,我們只要將上面那段code改成
if(0==a) {
// do something
}
將左右手邊對調,左手邊是常數,右手邊是變數,這樣不小心寫成一個=時,一定會有compile error被report。雖然這樣寫剛開始會很不習慣就是了。另一個好處就是,常數通常都很短,但變數命名通常都較長,這樣寫會有另一種alignment的美感,可以試著體會看看 :)
沒有留言:
張貼留言