天天看點

軟體基本功:避免難度寫法,代碼簡單易懂才是高手

  前幾日看到一個博文,說某公司面試,問++i/i++有何不同。這個差異吾是知道的:

int i=5;
int a = i++; //a=5
 
int j=5;
int b = ++j; //b=6      

  吾知道這個差異,吾代碼中會絕對避免這個寫法。為什麼呢?有幾個原因:

  • 閱讀困難,給維護帶來很大的麻煩。沒錯,這顯得汝有水準,維護起來并不友善。
  • 關鍵:這種差異本身,并不可靠。在編譯器甲,可能是5、6;編譯器乙,執行結果可能就是5、5。一旦發生錯誤,幾乎不可能查到原因。

  是以,吾絕對避免這種詭異寫法。使用最簡單、易懂的語句完成工作,是吾常常得意的事情。正确代碼寫法:

int i=5;
int a = i; //a=5
i++;
 
int j=5;
j++;
int b = j; //b=6      

  在某些特殊場合,比如對于性能有高要求,那麼易懂問題就不需要考慮。因為達不到這個程度的程式員,也不會維護這些代碼。

這個是吾親身遇到的編譯器事情:

https://blog.csdn.net/quantum7/article/details/105811292

繼續閱讀