getUserId 还是 getUserID?

2023-01-22 13:10:47 +08:00
 lowsell
类似的 getXxxURL 还是 getXxxUrl
不确定应该用哪种,大家呢
5005 次点击
所在节点    问与答
41 条回复
olaloong
2023-01-22 21:29:17 +08:00
我们的傻瓜 checkstyle 定死了不允许连续出现两个大写字母,so...
makelove
2023-01-22 21:50:10 +08:00
建议无脑算法,永远只大写第一个
Mbb38C3HtyZydTt7
2023-01-22 22:03:37 +08:00
get_user_id
ChefIsAwesome
2023-01-22 22:49:38 +08:00
按语法,缩写应该大写。但是现实中,很多不大写的情况。
以 url 举例,path 分大小写,协议和域名不分大小写。HTTPS://v2ex.COM 这地址你看着怪不怪。FBI 应该是全大写。FBI 的网址,只能是全小写的 fbi.gov
再例如,km/h 都是小写。
写驼峰,就别管缩写大写的问题。
WasteNya
2023-01-23 04:10:08 +08:00
gEtUsErId
caixiangyu17
2023-01-23 08:46:20 +08:00
主要命名的话,还是 Id, Url 比较舒服
看到两个大写字母挨着的变量名难受
aoeui
2023-01-23 09:19:58 +08:00
@gowl 别的语言不知道,按照 C# 的规则应该是 Id 和 Url
Rocketer
2023-01-23 09:48:53 +08:00
之前遇到过一个前端问题,我们写的程序( js )是驼峰式命名,但框架映射到 html 和 css 时会使用下划线式的命名。

具体细节记不清了,但反正它每遇到一个大写字母,就会转成下划线加小写的形式,比如我写 imageURL ,它实际操作的是 html 里 image_u_r_l 这个属性,所以要求我们必须用 imageUrl 这样的命名,才能操作到预期的 image_url 这个属性。

这个框架还是微软出的,所以我觉得为了保证各种命名规则的可转换性,还是应该用 getId ,getUrl
popil1987
2023-01-23 10:08:46 +08:00
ID 的情况还和 URL 不一样,ID 是一个单词的缩写,似乎 getId 比较合适。URL 是三个单词的缩写,似乎 getURL 比较合适
kkstart
2023-01-23 10:23:11 +08:00
驼峰和下划线互转的话,是:大写字母 = 下划线+小写

getID get_i_d
getURL get_u_r_l

你再看看,就知道怎么抉择
tairan2006
2023-01-23 11:17:41 +08:00
golang 是 ID ,java 就 Id ,习惯就好
zealinux
2023-01-23 12:08:46 +08:00
get_user_id
get_xxx_url

清清爽爽,没有你的烦恼
gowl
2023-01-23 13:35:53 +08:00
> 按照 C# 的规则应该是 Id 和 Url

是的,谢谢:)
@aoeui
gowl
2023-01-23 13:38:59 +08:00
纠正:

> 按微软的命名规则的话是 ID 和 Url 。

应为:

按微软的命名规则的话是 Id 和 Url 。
gowl
2023-01-23 13:42:15 +08:00
Id 是 Id 不是 ID ;但 IO 是 IO 而不是 Io ,区别在于 Id 是「一个词的缩略形式」,而 IO 是「首字母缩略词」。
leonshaw
2023-01-23 13:58:49 +08:00
维基百科 identifier 上缩写都是 ID ,没看到 Id
Pastsong
2023-01-23 15:32:20 +08:00
getUrlForIosAppId
mejee
2023-01-23 15:37:52 +08:00
怎么舒服怎么来,别人看得清晰比较重要,我选择 Id ,Url
2NUT
2023-01-23 17:46:41 +08:00
魔怔了
snw
2023-01-23 18:49:20 +08:00
我认为为了可读性和统一性,适当牺牲语法上的正确性是完全值得的,只要大家看得懂。毕竟我们是命名函数名和变量,不是参加英语考试。

举个 PowerPivot 的例子:我的销售数据表里有 order 列和 sale 列,显然 sale 从语义上来说是错误的,应该是 sales 。但为了不和度量重名冲突,所以列名用单数形式,度量用复数形式,比如
Sales:=SUM(data[sale])

微软官方示例用不同词组也是可以的,就是比较啰嗦:
Total Sales:=SUM(Sales[SalesAmount])

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/910246

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX