作者:
a88241050 (å†å›žé 已是百殘身)
2022-06-07 00:05:25今天上班時
在程式碼中看到一行code
XXXX(物件變數名).equals(null)
看到的當下我第一個想法是
"這是哪個剛畢業的新人寫的code.."
結果看了一下git紀錄後發現
這竟然是一個有6年經驗的前輩寫的code
但因為我跟他不熟 所以我也沒問他為什麼會這樣寫
還是說其實他這樣寫是有原因的?
作者:
qrtt1 (有些事,有時候。。。)
2022-06-07 08:54:00直接問啊。
作者:
kentyeh (kent)
2022-06-07 10:35:00git記錄不會是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 ==
作者:
Isaea (Isaea)
2022-06-09 12:26:00有必要這麼嚴格嗎?問一下本人不就好了,這種背後討論的行為很差勁
作者:
alihue (wanda wanda)
2022-06-09 17:15:00還好你不是我同事
作者:
jej (晃奶大馬桶)
2022-06-10 07:37:00大哥 我們平常通靈夠多了 自己的靈自己通好嗎?
阿 所以現在老人寫個code有點BUG 是不行嗎? 要被抓出來你這麼有疑問 你去問他阿如果你問我,我就會直接說 對我寫錯了 你就改掉吧
你這跟聞到血腥味的鯊魚有什麼差別?不就是為了公審他而上來問嗎
作者:
fr373969 (Brian)
2022-06-30 07:09:00開個pr 改成isNull() 阿
作者: Dinjang (DD) 2022-07-06 21:24:00
也許方法被重寫了
通常是直接用replace來refactor造成的另外有問題就問本人,有必要搞成這樣嗎
作者:
zanyking (最後的六年級生)
2022-09-15 09:24:00這就跟Java不熟,也許六年前他還是菜鳥
作者: Morris1028 (某 M) 2022-10-31 08:46:00
多半是重構造成的 bad smell