[问题] 命名习惯为何完全用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