V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Etuloser
V2EX  ›  数据库

大家是怎么看待数据库字段用拼音命名的

  •  
  •   Etuloser · 2018-03-12 08:36:40 +08:00 · 13843 次点击
    这是一个创建于 2431 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我觉得用拼音更加直观,也没什么坏处啊,为什么这么多开发者鄙视这一做法

    196 条回复    2018-03-26 22:19:10 +08:00
    1  2  
    jimzhong
        1
    jimzhong  
       2018-03-12 08:38:57 +08:00
    团队成员都使用拼音命名并没有什么不妥。
    zjsxwc
        2
    zjsxwc  
       2018-03-12 08:39:20 +08:00
    同音词怎么区别?
    idea 一堆 warning 逼死强迫症啊,能忍?
    doubleflower
        3
    doubleflower  
       2018-03-12 08:39:42 +08:00
    你程序变量用拼音吗?
    terence4444
        4
    terence4444  
       2018-03-12 08:40:19 +08:00 via iPhone   ❤️ 9
    客户防止国外黑客的 SQL 注入?
    580a388da131
        5
    580a388da131  
       2018-03-12 08:40:22 +08:00 via iPhone   ❤️ 1
    这是种无谓争论
    可能活太少
    😏
    jackqian
        6
    jackqian  
       2018-03-12 08:41:14 +08:00 via iPhone
    low 呀( ̄∇ ̄)手动滑稽
    benzzz
        7
    benzzz  
       2018-03-12 08:41:18 +08:00 via iPhone
    中英混合的怎么办🤨
    lihongjie0209
        8
    lihongjie0209  
       2018-03-12 08:41:24 +08:00
    打死, 谢谢. 我遇到了,想死
    viko16
        9
    viko16  
       2018-03-12 08:41:44 +08:00 via Android   ❤️ 23
    内心毫无波动,甚至还想加上声调
    des
        10
    des  
       2018-03-12 08:43:25 +08:00 via Android   ❤️ 7
    对拼音不能忍,主要是你没见过用汉字的。。。
    zyxbcde
        11
    zyxbcde  
       2018-03-12 08:43:41 +08:00 via Android
    这种建议转易语言
    lxzhtxh13
        12
    lxzhtxh13  
       2018-03-12 08:43:54 +08:00
    感觉拼音适合国内用户,而且减少被外国黑客攻击的几率吧
    Etuloser
        13
    Etuloser  
    OP
       2018-03-12 08:45:10 +08:00
    @zjsxwc
    同音词应该比较少遇到吧,英文也有一词多意啊。。
    idea 报错的话,可以自己去设置里改啊。。
    zj299792458
        14
    zj299792458  
       2018-03-12 08:45:18 +08:00 via iPhone
    总比强行用英文结果还拼错了好,强迫症比吃屎还难受😣
    alamaya
        15
    alamaya  
       2018-03-12 08:45:26 +08:00
    等你做过几个中小银行项目,你就会见怪不怪啦,全是拼音首字母,而且你还看不懂。
    loveCoding
        16
    loveCoding  
       2018-03-12 08:45:35 +08:00 via iPhone
    并没有什么问题
    Etuloser
        17
    Etuloser  
    OP
       2018-03-12 08:45:56 +08:00
    @doubleflower
    也不是不行啊。。有什么坏处嘛
    cisisustring
        18
    cisisustring  
       2018-03-12 08:46:56 +08:00 via iPad   ❤️ 14
    yinweipinyindeyueduxingfeichangbuhao
    yinweipinyindeyueduxingfeichangbuhao,jibianshijialebiaodian
    YinWeiPinYinDeYueDuXingFeiChangBuHao,JiBianShiJiaLeBiaoDianHeDaXiaoXie.
    YinWei PinYin De YueDuXing FeiChang BuHao, JiBian Shi JiaLe BiaoDian He DaXiaoXie, YiJi YongLe FenCi YeShi YiGe CaoXing.
    You Qing Ti Shi, Ben Da An Cong Xia Wang Shang Du Bi Jiao Hao
    zjsxwc
        19
    zjsxwc  
       2018-03-12 08:47:52 +08:00
    @des

    我碰到过,有同事在没装中文的 linux 环境里用 vim 删掉了半个汉字,这个 bug 当时排查了一礼拜,汗。。
    autulin
        20
    autulin  
       2018-03-12 08:49:23 +08:00 via iPhone
    我在某国企见过变量命名都用中文的,后来他们数据库字段用拼音我也丝毫不奇怪
    tedzhou1221
        21
    tedzhou1221  
       2018-03-12 08:50:59 +08:00 via Android   ❤️ 1
    那你们是怎么看到数据库字段用拼音 的缩写……

    例如:CJSJ 第一次我真的不知道是什么,看了数据才猜到是“创建时间”

    这算很好猜的了,业务相关的,你根本猜不透
    liwl
        22
    liwl  
       2018-03-12 08:51:07 +08:00
    @zjsxwc 半个汉字?
    ScotGu
        23
    ScotGu  
       2018-03-12 08:51:21 +08:00   ❤️ 1
    对对对,
    用英文 great !
    用拼音 lowB !
    这就是部分 V2er 的普世三观。


    用拼音怎么了,只要易读就可以啦。
    jeffpan
        24
    jeffpan  
       2018-03-12 08:51:28 +08:00
    ypyddbscxy
    Etuloser
        25
    Etuloser  
    OP
       2018-03-12 08:52:04 +08:00
    @cisisustring
    你这不是抬杠嘛,我仅说拼音字段,中国每个省还不是用拼音么 阅读性不好么
    另外你加了标点和空格分词的我看着挺顺畅的
    forestyuan
        26
    forestyuan  
       2018-03-12 08:52:32 +08:00   ❤️ 1
    只要有恰当的文档,详细说明每个字段的含义,那么用拼音命名也是可以的
    Etuloser
        27
    Etuloser  
    OP
       2018-03-12 08:53:07 +08:00
    @ScotGu
    差不多是这么个意思 /滑稽
    abccccabc
        28
    abccccabc  
       2018-03-12 08:53:26 +08:00
    @autulin 变量名用中文,感觉好牛掰呀,那个国企,我也想去。
    zjsxwc
        29
    zjsxwc  
       2018-03-12 08:54:30 +08:00
    @liwl

    一个汉字 2 字节啊,没装中文的 linux 下 vim 里只删了一个字节。。
    tobeit
        30
    tobeit  
       2018-03-12 08:55:02 +08:00
    爱国的表现
    Etuloser
        31
    Etuloser  
    OP
       2018-03-12 08:55:39 +08:00
    @forestyuan
    我也是这么觉得的,就算用英文字段,文档里说明还是用中文说明这个字段
    micean
        32
    micean  
       2018-03-12 08:55:53 +08:00
    @alamaya 银行保密性高还能理解,曾经接过一个没文档也没有对接人员的库,那表名、字段名猜的让人想哭
    jydeng
        33
    jydeng  
       2018-03-12 08:56:24 +08:00
    已经习惯了,对接某公司接口,接口字段命名拼音+英文.......
    cisisustring
        34
    cisisustring  
       2018-03-12 08:58:20 +08:00 via iPad
    @Etuloser 你觉得好就行,在简历里把你的这种风格如实写上去。
    Tink
        35
    Tink  
       2018-03-12 08:58:41 +08:00 via iPhone
    没毛病
    mohoumk2
        36
    mohoumk2  
       2018-03-12 08:59:16 +08:00 via Android
    你是没见过用汉字的……
    ctro15547
        37
    ctro15547  
       2018-03-12 08:59:22 +08:00   ❤️ 1
    像 yonghuming mima 这种应该可以避免,有些比较口语化的例如 heilishi biaoqingbao 我会用拼音 比较直观一点。。
    yahon
        38
    yahon  
       2018-03-12 09:00:10 +08:00
    用拼音首字母才是最吓人的。字母长了都不知道怎么猜。
    DOLLOR
        39
    DOLLOR  
       2018-03-12 09:01:12 +08:00   ❤️ 1
    我内心毫无波动,甚至想用五笔命名 /滑稽
    dilu
        40
    dilu  
       2018-03-12 09:01:26 +08:00
    首先 所谓的命名规范就是为了让大家都能一眼看的懂这是干嘛的 有利于团队协作

    如果你们所有团队都是英语专八那就英语,如果全是 date 和 data 不分的就拼音

    但是业内大多数使用英语,因为中文是在是博大精深,一个音有不同的意思 很容易造成误解

    用什么并不重要,不必争论哪个更好

    顺便吐槽一下我们的 MySQL 一个字段叫 is_baoman 游戏公司 猜猜这是啥意思(手动滑稽)
    r7st
        41
    r7st  
       2018-03-12 09:02:13 +08:00
    hsz,ml
    回收站,目录
    wqzjk393
        42
    wqzjk393  
       2018-03-12 09:02:40 +08:00 via iPhone
    没办法啊。有些东西,比如有时候用到一些产品的名字,直接打中文又不支持,你给我找一个英文代替啊?
    misaka19000
        43
    misaka19000  
       2018-03-12 09:05:32 +08:00
    用拼音还不如用汉字
    gyteng
        44
    gyteng  
       2018-03-12 09:05:58 +08:00 via iPhone
    拼音首字母的我也遇到过
    wqzjk393
        45
    wqzjk393  
       2018-03-12 09:07:13 +08:00 via iPhone
    给一个公司做东西,是关于各个银行的指标,然后我问客户怎么命名字段,人家说缩写就好。然后我字段全是 zgyh zgjsyh gzfzyh hxyh,作为开发者,我自己写完以后检查的都是都一脸懵逼要半天才能反应过来是什么,然而客户说不错效果很好…我能怎么办
    ppwangs
        46
    ppwangs  
       2018-03-12 09:07:54 +08:00
    拼音可以,但是个人底线是要全拼,首拼,不中英混合,不首字母。
    zlpvirgo
        47
    zlpvirgo  
       2018-03-12 09:08:48 +08:00
    拼音跟英文都是字母,我觉得没什么问题啊(手动滑稽)
    yinzhili
        48
    yinzhili  
       2018-03-12 09:09:22 +08:00
    BGQJB 这个我猜了半天都猜不到含义是“变更前级别”
    nicevar
        49
    nicevar  
       2018-03-12 09:12:11 +08:00
    能看懂就是好的,拼音没啥问题,首字母无论拼音还是英语都不太好
    用英语强行翻译也挺尬的
    drunkbeta
        50
    drunkbeta  
       2018-03-12 09:12:12 +08:00 via Android
    @dilu 爆满?
    haogefeifei
        51
    haogefeifei  
       2018-03-12 09:12:30 +08:00
    看情况,广州的英文就是 Guangzhou。。。
    Liang
        52
    Liang  
       2018-03-12 09:16:24 +08:00   ❤️ 2
    有些场景没办法不用拼音,例如一些玩法多样的商城,积分十几种,你怎么定义?
    拼音可以,但我用首拼大写来标注这是拼音,而且 comment 一定要写好

    例如:
    积分 credit --小写,代表单词
    元宝值 YBZ --大写,代表拼音
    金贝值 JBZ
    跳蚤分 TZF
    互助奖 HZJ
    fhefh
        53
    fhefh  
       2018-03-12 09:17:11 +08:00
    最郁闷的是用开头首字母 比如身份证识别(SFZSB) 没对应的字典表.doc 还真不知道这是搞啥子的~
    Allianzcortex
        54
    Allianzcortex  
       2018-03-12 09:17:13 +08:00
    政府部门的很多软件也是用拼音字母命名的...当时还专门拍照记录了一下...
    crazycen
        55
    crazycen  
       2018-03-12 09:17:48 +08:00
    我打一串,JSB,你猜猜是什么意思!
    yulitian888
        56
    yulitian888  
       2018-03-12 09:18:41 +08:00   ❤️ 1
    如果只是数据库,我倒不觉得有多大的麻烦。但是不难想象的是,用数据库做字段的开发者,难道会用英文写代码吗?
    汉语的语义是一个很大的麻烦
    举例
    活动:Promotion,名词,促销的意思
    活动:Current,形容词,最近的,当前的
    活动:Slid,动词,(物价)下跌
    谁敢用一个拼音 HuoDong,猜猜会不会被砍死?

    一般的命名规范大约都会是,类,名词;方法:动词;属性和字段:名词量词形容词
    这些用英文表达更容易。
    lovesan
        57
    lovesan  
       2018-03-12 09:21:04 +08:00
    保密性高的我觉得用拼音首字母非常好啊,我接过一个项目,不看文档根本不知道是啥,猜到吐。后来我们整个团队全部改用拼音首字母命名字段了,有数据字典怕个毛。那数据库弄出来根本不怕老外猜到字段名含义,因为中国人都看不懂,我们自己得对照文档。。非常牛 B 建议大家都这么干
    WilliamLin
        58
    WilliamLin  
       2018-03-12 09:22:12 +08:00 via Android
    个人,真无所谓,能忍得了 ide 的提示就行,要是协作,还是要有一定的标准的
    fuxkcsdn
        59
    fuxkcsdn  
       2018-03-12 09:23:10 +08:00
    如果英文不行,我能忍受拼音,怕就怕乱用英文还不写字段注释的...
    haitang
        60
    haitang  
       2018-03-12 09:24:49 +08:00 via iPhone
    不认为有什么不好的,对于我这种英文渣渣,之前一眼就看懂了数据结构
    STillSB
        61
    STillSB  
       2018-03-12 09:24:50 +08:00
    这种得分情况。
    游戏程序员,一些简单常见的用英文,比如攻击:Attack、血量:Hp
    如果是一些技能或者装备,比如:“楚楚可怜”、“万石弓”这种的,用英语怎么表示,自己翻译一个?谁能看得懂
    之前我还用拼音,现在类名直接
    STillSB
        62
    STillSB  
       2018-03-12 09:27:08 +08:00
    现在都直接用汉字了
    jinjianlu
        63
    jinjianlu  
       2018-03-12 09:27:39 +08:00
    有数据字典怕什么
    carlclone
        64
    carlclone  
       2018-03-12 09:28:07 +08:00 via iPhone
    没毛病,直观可读就行,有的翻译成英文反而更不直观,混用的路过
    gaocc
        65
    gaocc  
       2018-03-12 09:28:34 +08:00
    @Allianzcortex 我上一个单位也是这样,给联通做项目,很多专业术语的字段,都是拼音首字母,其它短小常见的字段就是正常英文单词
    ray1888
        66
    ray1888  
       2018-03-12 09:29:03 +08:00
    @ScotGu 最怕的是拼音还要取每个拼音的首字母,而不是存储他的目的意思,这样找起来就很麻烦了
    huclengyue
        67
    huclengyue  
       2018-03-12 09:30:46 +08:00 via Android
    拼音英文,只要符合命名规范就好了,没有什么大的区别吧,如果你在团队,团队都用拼音也没什么问题
    Qlccks2
        68
    Qlccks2  
       2018-03-12 09:31:12 +08:00
    @cisisustring #17 只要加了空格读起来没什么问题,比如最下面这行。
    MonoLogueChi
        69
    MonoLogueChi  
       2018-03-12 09:31:26 +08:00 via Android
    程序不报错,大家看得懂就好,反正我拼音 8 级已经过了
    HangoX
        70
    HangoX  
       2018-03-12 09:31:33 +08:00 via Android
    拼音你要考虑有些人拼音是不准的,不同地域的人发音不一样,写错拼音的时候简直无法忍,而且检测器也不知道你是不是拼音错了,英文就不会
    Felix2Yu
        71
    Felix2Yu  
       2018-03-12 09:33:03 +08:00   ❤️ 1
    有些人强行钻牛角尖,拼音和拼音首字母完全不是一码事,说得好像四五个英文单词,只用首字母你能猜出来一样。
    annielong
        72
    annielong  
       2018-03-12 09:34:44 +08:00
    大众化的用英文还可以,有些根本没法翻译或者翻译过来特别长的还用用拼音的好,这种事一般提前和用户沟通,有些字段用户有固定英文,没有的话就用拼音最好,至于说安全,曾经有项目字段全部用 F0001,F0002,F0003 这样,
    Wilon
        73
    Wilon  
       2018-03-12 09:34:53 +08:00
    这涉及到每个领域都存在的鄙视链,了解一下,人性
    snw
        74
    snw  
       2018-03-12 09:40:39 +08:00 via Android
    我很好奇拼音首字母命名一般怎样区分山西和陕西?
    calmspeed
        75
    calmspeed  
       2018-03-12 09:40:40 +08:00   ❤️ 5
    比如说有一个字段“开始时间”,你喜欢下面哪一个作为字段名呢?
    KSSJ、start_time、startTime、KaiShiShiJian、kaishishijian

    分析:
    用拼音命全拼命名,名称很长,并且得一个一个的拼起来读
    用拼音简称命名,需要熟悉一段时间。无异于学习了一些新单词。
    用拼音和英文混合… 我就啥也不说了
    用英文命名,一眼看出含义。
    讲道理,每一个拼音命名的 DB 和工程,都是来源于英文渣滓的杰作。
    用拼音命名为了防止 sql 注入的,系统就靠这个来保证安全性的吗?

    在我的团队里,用拼音命名的,还是趁早滚蛋得好
    gimp
        76
    gimp  
       2018-03-12 09:42:38 +08:00
    这有什么,只要有文档进行说明,一点也不影响开发与对接

    鄙视链不可取
    carlclone
        77
    carlclone  
       2018-03-12 09:43:24 +08:00
    @snw shan1xi , shan3xi , 滑稽 , 方法不是很多吗
    rocksolid
        78
    rocksolid  
       2018-03-12 09:44:03 +08:00
    只要统一并且文档可靠,都可以
    blankme
        79
    blankme  
       2018-03-12 09:44:15 +08:00 via Android
    @cisisustring
    你这段话毫无说服力。。。母语是中文的一眼就能看懂
    chenxytw
        80
    chenxytw  
       2018-03-12 09:44:19 +08:00
    不知道前面说防止 sql 注入的什么想法.....
    确认注入点不需要知道字段名。
    可以进行注入后,字段名也是随便就能搞出来了....
    lneoi
        81
    lneoi  
       2018-03-12 09:46:54 +08:00
    最不能忍受全取拼音首字母...稍微长一点跟乱码一样 而且也容易冲突
    其次英文单词不会不好好查查,中英随便混合,还不如用拼音算了
    mengyaoss77
        82
    mengyaoss77  
       2018-03-12 09:49:32 +08:00
    我见过用汉字的 我们学校给政府做项目的团队 基本都是汉字字段
    blankme
        83
    blankme  
       2018-03-12 09:51:17 +08:00 via Android
    @cisisustring
    跳出编程这个范围来说,用纯拼音就像用表音文字,虽然比表意文字差些,但仍然可以用得很好。
    psyche
        84
    psyche  
       2018-03-12 09:51:34 +08:00
    请理解我们做游戏的, 一堆武侠, 修真名词怎么翻译成英文, 就算勉强全翻译了也是一堆生僻词, 那还不如用拼音, 至少大家都看得懂
    snw
        85
    snw  
       2018-03-12 09:55:01 +08:00 via Android
    @carlclone
    我说首字母啊,全拼的话有官方规定 Shaanxi
    S1X, S3X?
    shakoon
        86
    shakoon  
       2018-03-12 09:56:54 +08:00   ❤️ 2
    哈哈哈哈哈哈,我司某重要系统的数据库字段全是六字符缩写,缩写得脑洞大哦,光看字母要猜很久才猜到是什么,因为有拼音的缩写有英语的缩写有两者结合的缩写有像是拼音但又不是拼音也不是英语的缩写还有用数字来假装字母的缩写还有位数不重复凑数的缩写,同一个表要是都是同一种缩写标准那也认了,实际上每个表里各种情况都有
    举几个例子,JIARII 假日,ROWIDD 序列号,CZHENH 传真号码,NEWPCD 新产品代号,FATHPK 父列表,JIOYRQ 交易日期,JIO1JE 金额,EXAMNU 审批人,SACCRM(standard accrue method),ACSYFL(accounting system synchronization flag),是不是很刺激啊,哈哈哈哈
    lieqishi
        87
    lieqishi  
       2018-03-12 09:57:49 +08:00
    @ScotGu 同意~首先你是学中文拼音长大的,你的英文 12 级,每个人的英文都有 12 级吗?
    greatghoul
        88
    greatghoul  
       2018-03-12 09:57:52 +08:00 via Android
    看具体业务吧,比如你做国内的一些内部系统,找不到合适的英文翻译,那用拼音比用不知所谓的英文更利于维护。


    要灵活一点。
    crane2018
        89
    crane2018  
       2018-03-12 09:59:33 +08:00
    @zj299792458 问题是拼音他也可能拼错了啊,😆
    carlclone
        90
    carlclone  
       2018-03-12 10:01:56 +08:00
    @snw 哈哈哈哈哈,没看到抱歉
    xpresslink
        91
    xpresslink  
       2018-03-12 10:14:03 +08:00
    理论来说,用英语最好。
    但是实践中团队和客户等很多人参与的情况下,英语未必是最高效的,很多程序员英语也差,出现隐密的拼写错误情况下,会让其它协作者更头痛。
    所以权衡效率的情况下也会有很多团队用全拼,双拼或汉字的情况,但是不论用哪个方式有两点要保证:
    ( 1 )命名规范,用汉字或拼音也要实行团队成员都遵守的共同规范。
    ( 2 )数据字典,一定要维护一个数据字典,每个表每个字段的名称和解释。有很多数据字典生成工具,如果你的团队没有使用,那么只能说太 Low 了,所以才会出现楼所说的问题。
    A555
        92
    A555  
       2018-03-12 10:16:33 +08:00
    变量英语加拼音混合缩写我都见过 注释也没有,跟看代码跟脑筋急转弯一样
    ioth
        93
    ioth  
       2018-03-12 10:18:51 +08:00
    还是因为没有规范,用英文有很多规范可以选择。
    x7395759
        94
    x7395759  
       2018-03-12 10:19:43 +08:00   ❤️ 3
    所有说用拼音和用英文一样的,我都 block 了
    XOXO360
        95
    XOXO360  
       2018-03-12 10:20:12 +08:00
    其实是有规范文档,不存在什么问题。拼音好过有些人用英文缩写,比如说,custom 缩写成 custo 这种才真的吐血。
    JerryCha
        96
    JerryCha  
       2018-03-12 10:21:02 +08:00
    一堆英文关键字里写拼音,感觉有点奇怪
    shiji
        97
    shiji  
       2018-03-12 10:21:25 +08:00
    不管用什么,大家能理解就好。
    主流数据库都支持注释吧。全是首字母也不怕啊。
    gravitybox
        98
    gravitybox  
       2018-03-12 10:22:02 +08:00 via Android
    商议好,尽量全拼吧
    MartinWu
        99
    MartinWu  
       2018-03-12 10:23:12 +08:00
    团队一致认定的规则就可以啦,需要精准解释用文档啊。有什么问题?
    realpg
        100
    realpg  
       2018-03-12 10:23:13 +08:00   ❤️ 1
    只要容易互相理解,且其他非相关人员介入项目时一目了然不会误解,用阿拉伯语都无所谓

    用英文逼格并不高,英语特别牛逼的人可能还好,对于英语比较普通的人来说,很多特殊关系,用中文表述带关系性质的词,用英语不好恰当翻译,最后更懵逼

    经常是有些词,英语大牛写出来的,其他英语一般的人看不懂字段名啥意思。
    英语一般的人用翻译软件弄出来的词,大牛一头雾水

    有些特别复杂的金融结算项目,在 MYSQL 里面,除了 ID,我甚至会用中文字段名
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5918 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 02:00 · PVG 10:00 · LAX 18:00 · JFK 21:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.