[問題] 六年經驗的前輩寫了出了.equals(null)

作者: a88241050 (再回頭已是百殘身)   2022-06-07 00:05:25
今天上班時
在程式碼中看到一行code
XXXX(物件變數名).equals(null)
看到的當下我第一個想法是
"這是哪個剛畢業的新人寫的code.."
結果看了一下git紀錄後發現
這竟然是一個有6年經驗的前輩寫的code
但因為我跟他不熟 所以我也沒問他為什麼會這樣寫
還是說其實他這樣寫是有原因的?
作者: qrtt1 (有些事,有時候。。。)   2022-06-07 08:54:00
直接問啊。
作者: ntpuisbest (阿龍)   2022-06-07 09:17:00
一般是要用==?
作者: kentyeh (kent)   2022-06-07 10:35:00
git記錄不會是6年前吧?
作者: sCHb68 (sCHb68)   2022-06-07 12:22:00
我都用Objects.isNull(物件)也還好吧,再強的高手總有一些沒學好的點。
作者: gasbomb (虛空雷神獸)   2022-06-07 17:33:00
這樣寫能有什麼原因? 結果不是false就是NPE耶
作者: ssccg (23)   2022-06-07 18:14:00
原本那個null也許是個變數,在多次copy-paste和refactor後變成null吧....只能想到這種解釋這寫法不能的點在變數真的是null就直接NPE了,不是新手老手問題,是除了String不得不用外,怎麼會想用equals
作者: Cavalier (Cavalier)   2022-06-08 01:50:00
你很無聊 說不定他以前寫的其他語言這樣用是ok的只是這邊一下子忘了 就直接跟他說阿
作者: ssccg (23)   2022-06-08 10:45:00
沒幾個語言無聊到像java要用equals吧...大多是override ==
作者: hisashi   2022-06-08 11:23:00
然後還被類公審
作者: Isaea (Isaea)   2022-06-09 12:26:00
有必要這麼嚴格嗎?問一下本人不就好了,這種背後討論的行為很差勁
作者: alihue (wanda wanda)   2022-06-09 17:15:00
還好你不是我同事
作者: jej (晃奶大馬桶)   2022-06-10 07:37:00
大哥 我們平常通靈夠多了 自己的靈自己通好嗎?
作者: darkroad (黑路)   2022-06-13 14:22:00
所以才要一起Code Review 阿~
作者: pupuliao (pupu)   2022-06-15 14:51:00
阿 所以現在老人寫個code有點BUG 是不行嗎? 要被抓出來你這麼有疑問 你去問他阿如果你問我,我就會直接說 對我寫錯了 你就改掉吧
作者: td770715 (Rex)   2022-06-28 15:51:00
你這跟聞到血腥味的鯊魚有什麼差別?不就是為了公審他而上來問嗎
作者: fr373969 (Brian)   2022-06-30 07:09:00
開個pr 改成isNull() 阿
作者: Dinjang (DD)   2022-07-06 21:24:00
也許方法被重寫了
作者: Killercat (殺人貓™)   2022-07-17 21:36:00
通常是直接用replace來refactor造成的另外有問題就問本人,有必要搞成這樣嗎
作者: zzshcool (台灣人)   2022-07-24 15:38:00
覺得怪怪就幫他修掉,舉手之勞,或是跟前輩討論
作者: zanyking (最後的六年級生)   2022-09-15 09:24:00
這就跟Java不熟,也許六年前他還是菜鳥
作者: Morris1028 (某 M)   2022-10-31 08:46:00
多半是重構造成的 bad smell

Links booklink

Contact Us: admin [ a t ] ucptt.com