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