[問題] 命名習慣為何完全用readXXX取代getXXX

作者: milonga332 ( U U)   2018-01-11 21:54:59
小弟多年前在一家公司上班,負責寫Android App
公司裡的神級前輩規定,寫Java要避免使用getXXX/setXXX作為method的命名習慣
要改用readXXX/writeXXX,或retriveXXX/putXXX...之類的都可以
當時試著詢問原因,不過只被冷眼酸了一頓
雖然現在已經不在該公司了,不過仍然好奇可能的理由是什麼,不曉得有沒有人知道呢?
p.s. 神級前輩似乎是死硬的微軟派,對於Java十分不屑
也許跟C#/.net的命名習慣有關?...
作者: milonga332 ( U U)   2018-01-11 21:57:00
好像是有技術上的理由才這樣做,不是純粹意氣用事
作者: cha122977 (CHA)   2018-01-11 21:57:00
是完全不用還是看情況用?完全不用就很扯,某些場合不用還能理解
作者: Brabus700G (路邊賣檳榔的阿伯)   2018-01-11 21:59:00
XDDDD
作者: milonga332 ( U U)   2018-01-11 21:59:00
我接收到的指示是「完全不用」
作者: cha122977 (CHA)   2018-01-11 22:00:00
可能的理由喔 腦袋有洞不知變通吧讓我想起C也有完全不用goto派 寧願寫出波動拳的…但我覺得 不肯和別人(特別是新來的)說明才是最糟的…
作者: zop (ㄞ肝ㄞ肝~一元二十罐~)   2018-01-11 23:05:00
也有可能是統一格式,要大家寫的方法都一樣?
作者: james732 (好人超)   2018-01-11 23:46:00
微軟沒有這種風格,不管NFC還是.NET都沒聽過
作者: ssccg (23)   2018-01-12 02:31:00
getter/setter是對應.NET的property,不是一般的method很多library也會預設這種method就是property你說的規定是要避免使用這套規則?另外read/write常見於IO類的Buffer、DataInput/Output同理其他的動詞也有常見的命名邏輯,還是要考慮情況比較好
作者: zephyrhymn   2018-01-12 11:01:00
命名規則反映動作上吧,其他我沒意見,但是VO/POJO之類的物件不用getter/setter的命名規則未免太不近人情吧
作者: y3k (激流を制するは静水)   2018-01-13 17:14:00
是擅長寫韌體的朋友呢
作者: vi000246 (Vi)   2018-01-14 19:55:00
命名用read/write我會想到是IO相關的method
作者: ken1325 (優質水瓶男)   2018-01-17 13:46:00
連原因都講不出來 再神也有限
作者: feeya (24 August 升格為鄉民)   2018-01-25 09:41:00
關鍵字太短不易搜尋?

Links booklink

Contact Us: admin [ a t ] ucptt.com