前言:當然,把常量寫在 == 運算符的左或右對運算本身沒有任何影響,它們僅僅是兩種不同的書寫風格。所以我敢保證很多人並不會因爲看到某些帖子宣稱「應該將常量放在左邊」就真的改變自己固有的風格,說到底,習慣而已。
不過,將常量寫在運算符左邊在某種情況下可能會更容易查錯。看下面的例子:
片段一,當且僅當
flag == 5
時執行循環體中的內容:
int
flag;
...
想查看更多資料請往下方看圖,更有免費開源項目和課程等你觀看哦!
while (flag == 5)
{
/* do something */
}
片段二,手快敲掉了一個 =,將會導致死循環,因爲
flag = 5
總爲真,當代碼量很大的時候,要 debug 出這樣的錯誤恐怕不太容易:
int
flag;
...
while (flag = 5)
{
/* do something */
}
片段三,常量放在左邊,即使側漏了一個 = 號也很安全,編譯器會告訴你這裏 Error 了:
int
flag;
...
while (5 = flag)
{
/* do something */
}
用一句話總結:
良好的書寫風格可以讓臭蟲在編譯時而不是運行時現身。