在項目代碼中在if判斷中會經常看到一些老司機這樣寫:if(null == a),而我由於習慣會寫成if(a == null),這兩種有什么區別呢?
其實兩種並沒有什么區別,只是前者在細節處理上。我們在代碼判空時,由於手快可能將if(a == null)寫成if(a = null),這在一些語言中是可以編譯通過的,但結果會報錯,這樣就會讓我們花費時間去查找問題。但寫成if(null = a)編譯一定是會報錯的,所以在一定程度上減少了錯誤排查的時間。
有的朋友可能會說在C#環境下,這兩種情況好像都會報錯的吧,如:
好像確實是這樣,但是您忘記了C#新增的dynamic類型嗎?編譯是通過的,但是運行起來就炸了。
所以,好的程序從細節出發。