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

看板java作者 (再回頭已是百殘身)時間2年前 (2022/06/07 00:05), 編輯推噓8(8023)
留言31則, 20人參與, 2年前最新討論串1/1
今天上班時 在程式碼中看到一行code XXXX(物件變數名).equals(null) 看到的當下我第一個想法是 "這是哪個剛畢業的新人寫的code.." 結果看了一下git紀錄後發現 這竟然是一個有6年經驗的前輩寫的code 但因為我跟他不熟 所以我也沒問他為什麼會這樣寫 還是說其實他這樣寫是有原因的? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.31.183 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/java/M.1654531527.A.752.html

06/07 08:54, 2年前 , 1F
直接問啊。
06/07 08:54, 1F

06/07 09:17, 2年前 , 2F
一般是要用==?
06/07 09:17, 2F

06/07 10:35, 2年前 , 3F
git記錄不會是6年前吧?
06/07 10:35, 3F

06/07 12:22, 2年前 , 4F
我都用Objects.isNull(物件)
06/07 12:22, 4F

06/07 12:23, 2年前 , 5F
也還好吧,再強的高手總有一些沒學好的點。
06/07 12:23, 5F

06/07 17:33, 2年前 , 6F
這樣寫能有什麼原因? 結果不是false就是NPE耶
06/07 17:33, 6F

06/07 18:14, 2年前 , 7F
原本那個null也許是個變數,在多次copy-paste和refactor後
06/07 18:14, 7F

06/07 18:16, 2年前 , 8F
變成null吧....只能想到這種解釋
06/07 18:16, 8F

06/07 18:18, 2年前 , 9F
這寫法不能的點在變數真的是null就直接NPE了,不是新手老手
06/07 18:18, 9F

06/07 18:21, 2年前 , 10F
問題,是除了String不得不用外,怎麼會想用equals
06/07 18:21, 10F

06/08 01:50, 2年前 , 11F
你很無聊 說不定他以前寫的其他語言這樣用是ok的
06/08 01:50, 11F

06/08 01:51, 2年前 , 12F
只是這邊一下子忘了 就直接跟他說阿
06/08 01:51, 12F

06/08 10:45, 2年前 , 13F
沒幾個語言無聊到像java要用equals吧...大多是override ==
06/08 10:45, 13F

06/08 11:23, 2年前 , 14F
然後還被類公審
06/08 11:23, 14F

06/09 12:26, 2年前 , 15F
有必要這麼嚴格嗎?問一下本人不就好了,這種背後討論的行
06/09 12:26, 15F

06/09 12:26, 2年前 , 16F
為很差勁
06/09 12:26, 16F

06/09 17:15, 2年前 , 17F
還好你不是我同事
06/09 17:15, 17F

06/10 07:37, 2年前 , 18F
大哥 我們平常通靈夠多了 自己的靈自己通好嗎?
06/10 07:37, 18F

06/13 14:22, 2年前 , 19F
所以才要一起Code Review 阿~
06/13 14:22, 19F

06/15 14:51, 2年前 , 20F
阿 所以現在老人寫個code有點BUG 是不行嗎? 要被抓出來
06/15 14:51, 20F

06/15 14:51, 2年前 , 21F
你這麼有疑問 你去問他阿
06/15 14:51, 21F

06/15 14:52, 2年前 , 22F
如果你問我,我就會直接說 對我寫錯了 你就改掉吧
06/15 14:52, 22F

06/28 15:51, 2年前 , 23F
你這跟聞到血腥味的鯊魚有什麼差別?不就是為了公審他
06/28 15:51, 23F

06/28 15:51, 2年前 , 24F
而上來問嗎
06/28 15:51, 24F

06/30 07:09, 2年前 , 25F
開個pr 改成isNull() 阿
06/30 07:09, 25F

07/06 21:24, 2年前 , 26F
也許方法被重寫了
07/06 21:24, 26F

07/17 21:36, 2年前 , 27F
通常是直接用replace來refactor造成的
07/17 21:36, 27F

07/17 21:36, 2年前 , 28F
另外有問題就問本人,有必要搞成這樣嗎
07/17 21:36, 28F

07/24 15:38, 2年前 , 29F
覺得怪怪就幫他修掉,舉手之勞,或是跟前輩討論
07/24 15:38, 29F

09/15 09:24, 2年前 , 30F
這就跟Java不熟,也許六年前他還是菜鳥
09/15 09:24, 30F

10/31 08:46, 2年前 , 31F
多半是重構造成的 bad smell
10/31 08:46, 31F
文章代碼(AID): #1YdYN7TI (java)
文章代碼(AID): #1YdYN7TI (java)