作者a88241050 (再回頭已是百殘身)
看板java
標題[問題] 六年經驗的前輩寫了出了.equals(null)
時間Tue Jun 7 00:05:25 2022
今天上班時
在程式碼中看到一行code
XXXX(物件變數名).equals(null)
看到的當下我第一個想法是
"這是哪個剛畢業的新人寫的code.."
結果看了一下git紀錄後發現
這竟然是一個有6年經驗的前輩寫的code
但因為我跟他不熟 所以我也沒問他為什麼會這樣寫
還是說其實他這樣寫是有原因的?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.31.183 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1654531527.A.752.html
1F:→ qrtt1: 直接問啊。 06/07 08:54
2F:推 ntpuisbest: 一般是要用==? 06/07 09:17
3F:推 kentyeh: git記錄不會是6年前吧? 06/07 10:35
4F:→ sCHb68: 我都用Objects.isNull(物件) 06/07 12:22
5F:→ sCHb68: 也還好吧,再強的高手總有一些沒學好的點。 06/07 12:23
6F:→ gasbomb: 這樣寫能有什麼原因? 結果不是false就是NPE耶 06/07 17:33
7F:→ ssccg: 原本那個null也許是個變數,在多次copy-paste和refactor後 06/07 18:14
8F:→ ssccg: 變成null吧....只能想到這種解釋 06/07 18:16
9F:→ ssccg: 這寫法不能的點在變數真的是null就直接NPE了,不是新手老手 06/07 18:18
10F:→ ssccg: 問題,是除了String不得不用外,怎麼會想用equals 06/07 18:21
11F:→ Cavalier: 你很無聊 說不定他以前寫的其他語言這樣用是ok的 06/08 01:50
12F:→ Cavalier: 只是這邊一下子忘了 就直接跟他說阿 06/08 01:51
13F:→ ssccg: 沒幾個語言無聊到像java要用equals吧...大多是override == 06/08 10:45
14F:→ hisashi: 然後還被類公審 06/08 11:23
15F:→ Isaea: 有必要這麼嚴格嗎?問一下本人不就好了,這種背後討論的行 06/09 12:26
16F:→ Isaea: 為很差勁 06/09 12:26
17F:→ alihue: 還好你不是我同事 06/09 17:15
18F:→ jej: 大哥 我們平常通靈夠多了 自己的靈自己通好嗎? 06/10 07:37
19F:推 darkroad: 所以才要一起Code Review 阿~ 06/13 14:22
20F:→ pupuliao: 阿 所以現在老人寫個code有點BUG 是不行嗎? 要被抓出來 06/15 14:51
21F:→ pupuliao: 你這麼有疑問 你去問他阿 06/15 14:51
22F:→ pupuliao: 如果你問我,我就會直接說 對我寫錯了 你就改掉吧 06/15 14:52
23F:推 td770715: 你這跟聞到血腥味的鯊魚有什麼差別?不就是為了公審他 06/28 15:51
24F:→ td770715: 而上來問嗎 06/28 15:51
25F:推 fr373969: 開個pr 改成isNull() 阿 06/30 07:09
26F:→ Dinjang: 也許方法被重寫了 07/06 21:24
27F:→ Killercat: 通常是直接用replace來refactor造成的 07/17 21:36
28F:→ Killercat: 另外有問題就問本人,有必要搞成這樣嗎 07/17 21:36
29F:推 zzshcool: 覺得怪怪就幫他修掉,舉手之勞,或是跟前輩討論 07/24 15:38
30F:推 zanyking: 這就跟Java不熟,也許六年前他還是菜鳥 09/15 09:24
31F:推 Morris1028: 多半是重構造成的 bad smell 10/31 08:46