作者milonga332 ( U U)
看板java
標題[問題] 命名習慣為何用readXXX取代getXXX
時間Thu Jan 11 21:54:59 2018
小弟多年前在一家公司上班,負責寫Android App
公司裡的神級前輩規定,寫Java要避免使用getXXX/setXXX作為method的命名習慣
要改用readXXX/writeXXX,或retriveXXX/putXXX...之類的都可以
當時試著詢問原因,不過只被冷眼酸了一頓
雖然現在已經不在該公司了,不過仍然好奇可能的理由是什麼,不曉得有沒有人知道呢?
p.s. 神級前輩似乎是死硬的微軟派,對於Java十分不屑
也許跟C#/.net的命名習慣有關?...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.46.120
※ 文章網址: https://webptt.com/m.aspx?n=bbs/java/M.1515678902.A.EC2.html
1F:→ milonga332: 好像是有技術上的理由才這樣做,不是純粹意氣用事 01/11 21:57
2F:→ cha122977: 是完全不用還是看情況用? 01/11 21:57
3F:→ cha122977: 完全不用就很扯,某些場合不用還能理解 01/11 21:58
4F:推 Brabus700G: XDDDD 01/11 21:59
5F:→ milonga332: 我接收到的指示是「完全不用」 01/11 21:59
6F:→ cha122977: 可能的理由喔 腦袋有洞不知變通吧 01/11 22:00
7F:→ cha122977: 讓我想起C也有完全不用goto派 寧願寫出波動拳的… 01/11 22:02
8F:→ cha122977: 但我覺得 不肯和別人(特別是新來的)說明才是最糟的… 01/11 22:04
真的...讓人想到猴子+香蕉+電擊的那個實驗
9F:推 zop: 也有可能是統一格式,要大家寫的方法都一樣? 01/11 23:05
也許是...不過為何不採用常見的getXXX/setXXX,仍然覺得奇妙
10F:推 james732: 微軟沒有這種風格,不管NFC還是.NET都沒聽過 01/11 23:46
11F:→ ssccg: getter/setter是對應.NET的property,不是一般的method 01/12 02:31
12F:→ ssccg: 很多library也會預設這種method就是property 01/12 02:34
13F:→ ssccg: 你說的規定是要避免使用這套規則? 01/12 02:37
14F:→ ssccg: 另外read/write常見於IO類的Buffer、DataInput/Output 01/12 02:38
15F:→ ssccg: 同理其他的動詞也有常見的命名邏輯,還是要考慮情況比較好 01/12 02:42
我瞭解IO比較常用read/write,我們的應用並不是IO為主的,仍然全面不准用get/set
16F:推 zephyrhymn: 命名規則反映動作上吧,其他我沒意見,但是VO/POJO之 01/12 11:01
17F:→ zephyrhymn: 類的物件不用getter/setter的命名規則未免太不近人情 01/12 11:01
18F:→ zephyrhymn: 吧 01/12 11:01
19F:→ y3k: 是擅長寫韌體的朋友呢 01/13 17:14
※ 編輯: milonga332 (1.162.45.172), 01/14/2018 17:40:59
※ 編輯: milonga332 (1.162.45.172), 01/14/2018 17:44:01
※ 編輯: milonga332 (1.162.45.172), 01/14/2018 17:45:40
※ 編輯: milonga332 (1.162.45.172), 01/14/2018 17:46:33
20F:→ vi000246: 命名用read/write我會想到是IO相關的method 01/14 19:55
21F:→ ken1325: 連原因都講不出來 再神也有限 01/17 13:46
22F:→ feeya: 關鍵字太短不易搜尋? 01/25 09:41