作者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/cn.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