1
damai0419 2022-01-13 09:22:00 +08:00
个人习惯大写
|
2
janxin 2022-01-13 09:22:58 +08:00 via iPhone
缩写一般大写
|
3
zydxn 2022-01-13 09:27:17 +08:00 4
dto 本来就是 data transfer object 的缩写了,肯定是全大写 DTO 啊...
|
4
acthtml 2022-01-13 09:28:22 +08:00
统一即可,两种写法在多个开源项目中都看到过。
|
5
CodeCodeStudy 2022-01-13 09:40:31 +08:00
建议驼峰 UserDto ,把 DTO 当做一个单词看待。
如果用下划线的写法,那么应该是 user_dto ,可以看出 dto 是一个整体。 如果是 UserDTO ,那么转换成下划线形式的时候容易出问题。 |
6
supuwoerc 2022-01-13 09:50:27 +08:00
看项目规范吧,大家统一起来就行。
|
7
wxw752 2022-01-13 09:54:15 +08:00
DTO 大写
|
8
Kimen 2022-01-13 10:01:42 +08:00
我看到的一般都是大写,不知道是不是规范,但是比较统一
|
9
CodeCodeStudy 2022-01-13 10:01:57 +08:00
标准库的 java.net 的 HttpURLConnection 类就是混用的,HTTP 用了驼峰,URL 用了大写
|
10
imesrdfi8dzs 2022-01-13 10:02:59 +08:00
重要的是统一 不过我和 5l 一样 把它当做一个词去看待 所以就 Dto 这样写了
|
11
billly 2022-01-13 10:04:48 +08:00
我也是 Dto ,不然总会有提示要改成驼峰,不知道是哪个插件的
|
12
yiqunz 2022-01-13 10:04:56 +08:00 2
阿里的规范,但是我们项目是 Dto
[强制] 类名使用 UpperCamelCase 风格,但以下情形例外:DO / BO / DTO / VO / AO / PO / UID 等。 正例:ForceCode / UserDO / HtmlDTO / XmlService / TcpUdpDeal / TaPromotion 反例:forcecode / UserDo / HTMLDto / XMLService / TCPUDPDeal / TAPromotion |
13
yiqunz 2022-01-13 10:06:07 +08:00
@CodeCodeStudy HTTPURLConnection 看着头疼
|
14
coolzjy 2022-01-13 10:29:36 +08:00
|
15
Chase2E 2022-01-13 10:38:52 +08:00
把驼峰法的 UpperLetter 理解成下划线法的_就好了.
所以是 UserId, UserDto |
16
GTim 2022-01-13 11:19:40 +08:00
把 Dto 看成一个单词,UserDto
受不了 DTO 全大写 |
17
makelove 2022-01-13 11:30:57 +08:00 2
这种东西建议用无脑方式,不管是不是缩写的单词全部不要大写,减少这方面用脑支出,否则碰到 Id, Db ,Html 之类的都要纠结一下
|
18
EastLord 2022-01-13 11:32:53 +08:00
大写
|
19
fantastM 2022-01-13 11:33:37 +08:00 2
谷歌 Java 风格里对驼峰写法的建议是 Dto ,另外 iOS 应该写作 Ios 、IPv6 应该写作 Ipv6
https://google.github.io/styleguide/javaguide.html#s5.3-camel-case |
20
TomVista 2022-01-13 11:35:50 +08:00
我习惯 UserDto , 大写单词一眼看不懂,需要反应反应
|
21
wenbingkun 2022-01-13 11:53:16 +08:00
阿里开发规范是大写
|
22
CodeCodeStudy 2022-01-13 12:05:08 +08:00
@yiqunz #13 是啊,所以我觉得还是用驼峰的好,如果用大写的话,万一碰到多个缩写,全都是大写字母就很难看了
|
23
zorui 2022-01-13 12:18:41 +08:00
**DTO **VO **BO 感觉好丑, 最好是能有一些名词代替。 订单这种 可以用 bill (账单 代替 OrderDTO) invoice (票据
OrderVO) |
24
sunny2580839896 2022-01-13 13:25:12 +08:00
user_id userId userID ?
|
25
eronekogin 2022-01-13 13:51:44 +08:00 1
觉得不妥可以写全嘛,userDataTransferObject
|
26
Buges 2022-01-13 13:55:02 +08:00 via Android
建议和下划线的写法相对应,这样能够完全统一下来,并且一些自动转换能得到正确的结果。
|
27
Goooler 2022-01-13 14:09:19 +08:00
都可以,Dto 可以的
|
28
wolfie 2022-01-13 14:12:09 +08:00
新项目大写。
现有项目 跟着项目风格。 |
29
wolfie 2022-01-13 14:14:39 +08:00
@CodeCodeStudy #5
谁字段名起 xxx_dto ,这东西只是一个特殊的传输对象,json key 也不会用 xxx_dto 。 |
30
chengyiqun 2022-01-13 14:15:00 +08:00
无所谓, 统一即可
|
31
karloku 2022-01-13 14:18:35 +08:00
都可以, DTO 看起来帅一点也更符合本身单词的逻辑, 但是对自动转换驼峰和蛇形的反射器不太友好. 取舍以后保持一致就行.
|
32
satoru 2022-01-13 14:40:23 +08:00
我们这边设置了强制用 Dto 这种风格 ……
|
33
zongren 2022-01-13 14:48:28 +08:00
我们的规范事缩写也作为普通单词
|
34
MajestySolor 2022-01-13 15:02:18 +08:00
最朴素的直觉,全部大写很丑
|
35
CodeCodeStudy 2022-01-13 15:15:06 +08:00
@wolfie #29 我不是指 DTO 这种东西,而是说要把缩略词当做一个单词看待
|
36
qingshuang 2022-01-13 15:15:17 +08:00
公司里的 sonar 检查 DTO 这种会报错。。
|
37
Cielsky 2022-01-13 15:23:01 +08:00 via Android
看自己的情况。
全大写对我来说更符合直觉,能一眼分辨出是三个单词的缩写 |
38
zachlhb 2022-01-13 15:55:31 +08:00
我很好奇这些名字谁起的,完全不习惯这种起名
|
39
qiuqingxin 2022-01-13 16:05:18 +08:00
习惯了 DTO
|
40
shanghai1943 2022-01-13 16:19:28 +08:00
习惯小写。。当做普通名词来看待吧。我觉得大写相对小写来说,没有那么直观。虽然影响是不大。
|
41
chtcrack 2022-01-13 16:34:31 +08:00
我都乱来,哪怕你函数名叫 A 也没关系,但是函数和关键地方注释一定要有..
|
42
superchijinpeng 2022-01-13 16:36:24 +08:00
都可以
|
43
hailiang88 2022-01-13 16:55:43 +08:00
这些都是正常写法,我们所有的命名全是中文拼音第一个字母,变量,方法,类,包,文件,文件夹,数据库字段,已经吐槽了很久了,现在想想很可能是涉密原因吧。
|
44
dcsuibian 2022-01-13 16:55:48 +08:00
我之前也纠结过,现在认为针对这种缩写形式,可能看成一个单词更好。
参考 Url ( Uniform Resource Locator )、Id ( Identity )、Http ( Hyper Text Transfer Prtcl ),虽然是缩写,但含义已经极其明确,你全大写和首字母大写都可以。 个人感觉 Dto 、Vo 、Bo 的形式比较合理。(在一定上下文环境中省略前缀后)变量就是 dto 、vo 、bo (这里要特别吐槽一下阿里的 DO ,如果全小写会变成关键字 do ,所以我用对应的 PO ),要不然变量叫 dTO 、vO 、bO ,总感觉怪怪的。 写到这里,回去看了一下自己的项目,发现目前用的是 UserVO 这种写法,一般对应的变量直接叫 vo ,如果多个 VO 同时出现,那么会写成 userVo ,感觉也挺舒服。。。 |
45
hun2008hun 2022-01-13 18:23:39 +08:00
都可以,看该项目规范,要统一
|
46
lux182 2022-01-13 19:16:50 +08:00
新项目还用这些东西命名吗,太丑陋了
|
47
Wuuuu 2022-01-13 20:22:20 +08:00
我记得.net 的规范是 小于等于 3 个字符,全大写,例如 DTO ,VO ,大于 3 个字符就驼峰,例如:Http ; GO 的规范是全驼峰。
|
48
shayuvpn0001 2022-01-13 22:23:41 +08:00
@eronekogin #25 标准库的 java.net 的 HttpURLConnection 类应该改成 hyperTextTransferProtocolUniformResourceLocatorConnection
|
49
agagega 2022-01-13 22:42:32 +08:00
|
50
railgun 2022-01-13 23:01:48 +08:00
我习惯全驼峰,这样命名函数的时候看着没那么累。比如 ConvertDTOToItem ,就会容易看成 DTOT
|
51
est 2022-01-13 23:39:19 +08:00
所以从这一点来看,还是下划线比较好。
|
52
jim9606 2022-01-14 00:06:16 +08:00
一般将缩写当普通单词比较普适,也就是 HttpClient 。
考虑在 golang 里的命名规范,首字母大小写区分公私有成员,私有成员 httpClient ,公有成员 HttpClient ,如果全大写就会搞出 hTTPClient 这样不伦不类的命名。 |
53
zpf124 2022-01-14 00:08:39 +08:00 1
就是一个标准统一就好,我个人更喜欢驼峰。
虽然阿里巴巴的标准是全大写,并且目前我们项目领导也要求这样,我也遵守了这样的规范。 DTO 和 HTTP 、URL 、SQL 、NBA 、NASA 、API 、GUI 、REST 一样都是一类专有名词缩写,针对于驼峰命名法而言,我的理解是按照驼峰结构修改,和普通单词一样,按照驼峰方式拼写。 QueryUrl 、UpdateSql 、NbaList 、FakeApi 、Rest 、UserDto 、UserVo 。 而 DTO 、VO 、DAO 这类东西和前面其他专有名词缩写有一点不一样的地方在于它在名字中是存在特定编程含义的,而其他专有名词在技术层面没有任何意义。 NbaList 、CnCity 、这类缩写对于某个新加入项目的人而言与 AList 、BObject 并无区别理解代码改造代码的时候无需了解这个缩写的含义; DTO 和 VO 你看到他们的时候你就知道这个类的用途。 所以我可以理解为什么有人认为该保持全大写,但我个人更倾向于统一用驼峰,不能因为它表达的含义不同就专门例外。 |
54
zxjunz 2022-01-14 11:41:49 +08:00
起码谷歌工程师都是用驼峰的,比如安卓中有个 DnsResolver
|
55
eronekogin 2022-01-17 10:55:42 +08:00
@shayuvpn0001 对啊,这不是 java 特色之一么,超过 50 个字符长度的类名不是分分钟 XD
|
56
wxyrrcj 2022-03-31 08:00:05 +08:00 via Android
整个项目统一就行
|