V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vevlins
V2EX  ›  程序员

无聊的问题,为什么接口/数据库一般采用下划线分割,前后端代码采用小驼峰

  •  1
     
  •   vevlins ·
    vevlins · 69 天前 · 3893 次点击
    这是一个创建于 69 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是我的错误认识还是业界实际?

    话说为什么要搞两套风格,来回转换很烦啊。

    29 条回复    2021-09-29 16:05:34 +08:00
    XCFOX
        1
    XCFOX  
       69 天前   ❤️ 6
    代码里小驼峰更美观,但是 url 、git 、部分数据库 不区分大小写 只能下划线
    xsm1890
        2
    xsm1890  
       69 天前
    数据库来答一下。主要还是规范,但是也有比如 mysql 默认不区分大小写,mongo 默认对象区分大小写,如果数据在这之间同步的话会比较乱,等等吧
    2i2Re2PLMaDnghL
        3
    2i2Re2PLMaDnghL  
       69 天前
    我倒是奇怪很少有地方用 kebab-case,果然还是与减号歧义吗

    VB 比较神奇,不区分大小写,但是 camelCase
    工具层面上将所有标识符都自动转换为定义处的大小写。
    clf
        4
    clf  
       69 天前
    关系型数据库里很多默认不区分大小写,所以用下划线区分。

    MongoDB 等文档类的会保持和代码里的字段一致。

    一般由 ORM 框架去解决自己定义的类和数据库存储对象的字段转换,自己不需要操心。
    chendy
        5
    chendy  
       69 天前
    说来奇怪,代码里看驼峰舒服,数据库看下划线舒服
    哦,单元测试也是下划线舒服,没啥道理
    来回转换其实没啥,都是工具做的
    libook
        6
    libook  
       69 天前
    兼容大小写不敏感的场景。

    代码里用啥主要看习惯,有些人是因为尽可能少按键才用小驼峰。另外我个人会习惯在代码里用全大写+下划线来做常量名的格式,这个只要团队达成一致的标准就行,毕竟是给人看的。
    AllenHua
        7
    AllenHua  
       69 天前 via iPhone
    @chendy #5 真的是看习惯了使然
    ctro15547
        8
    ctro15547  
       69 天前
    习惯下划线分开清清楚楚明明白白
    zvl0reqglvd
        9
    zvl0reqglvd  
       69 天前
    喜欢下划线,有间距分割,看的很清楚。驼峰真的看起来不美观,而且不够清晰明了。
    bwangel
        10
    bwangel  
       69 天前
    域名不区分大小写,不支持下划线,只支持中划线。
    bwangel
        11
    bwangel  
       69 天前
    @bwangel #10

    github page 的默认域名是以用户名命名的,因为这个原因,github 的用户名不支持下划线

    Username may only contain alphanumeric characters or single hyphens, and cannot begin or end with a hyphen.
    way2create
        12
    way2create  
       69 天前
    我见过开发规范要求数据库字段命名是特么大驼峰的 离谱
    wangkun025
        13
    wangkun025  
       69 天前
    我是后端,用的是下划线。
    dqzcwxb
        14
    dqzcwxb  
       69 天前
    能用驼峰用驼峰,不能驼峰再用下划线
    一般开发语言都区分大小写所以用驼峰
    数据库比如 mysql 不区分大小写所以用下划线
    qbhy
        15
    qbhy  
       69 天前
    运行在服务端的东西得考虑 windows 和 linux 的区别
    loading
        16
    loading  
       69 天前
    数据库相关的 SQL 和很多数据库列名都不区分大小写的,你在不区分大小写的环境用驼峰?
    yuhangch
        17
    yuhangch  
       69 天前
    我喜欢下划线!
    7gugu
        18
    7gugu  
       69 天前
    约定俗成的规范吧,大家都爱用,用的人也很多,自然而然形成的规则。
    zhuangzhuang1988
        19
    zhuangzhuang1988  
       69 天前
    随便用
    imycc
        20
    imycc  
       69 天前
    除了大小写敏感之外,不同语言推荐的写法也不太一样。
    python 里的变量比较多使用下划线,typescript 用小驼峰,偶尔兼职写写 php,看着历史代码不同风格的变量名要吐了。

    PS:url 里有不少小驼峰式的命名(应该是沿袭以前 cgi 时候的),不过我个人比较喜欢用连字符,就像 stackoverflow 那样
    MarioLuo
        21
    MarioLuo  
       69 天前
    数据库用蛇形命名,不过感觉用小驼峰保持实体一致,挺好的
    GuangXiN
        22
    GuangXiN  
       69 天前 via Android
    @2i2Re2PLMaDnghL 磕巴 case,😄😄
    puras
        23
    puras  
       69 天前
    @2i2Re2PLMaDnghL CSS 用 kebab-case,哈
    sakura1
        24
    sakura1  
       69 天前
    有可能当初都是下划线,但是 java 诞生后小驼峰也诞生,大家开始用小驼峰,但是数据库一般由于历史原因不会重刷,久而久之就变成现在这样了。
    bojackhorseman
        25
    bojackhorseman  
       69 天前 via iPhone   ❤️ 1
    解答了我对于后台返回数据经常是下划线连接的疑问
    lrvinye
        26
    lrvinye  
       69 天前 via iPhone
    pgsql 字段名大小写就不敏感,只能用下划线了
    SHF
        27
    SHF  
       69 天前
    下划线 yyds
    SHF
        28
    SHF  
       69 天前
    写代码小驼峰太丑了,第一个字母小写破坏了整个单词的美感;大驼峰还行,挺好的;最好看的是下划线命名法,清晰美观。我写代码都用下划线命名。
    url 或者文件路径这种全小写然后中划线分割
    zhea55
        29
    zhea55  
       68 天前
    自己动手,丰衣足食。

    前端拿到后台下划线的属性,全部统一转驼峰。

    另外,后台的数据还会有明明是数字,给的是字符串。明明是 boolean,给的是 0,1.

    有些人,觉得 js 没有类型。时间、日期能给时间戳,真的是要感天动地。


    貌似很多人以为前端要时间,就是 YYYY-MM-DD 。他们区分不了,什么是数据,什么是视图展现。


    如果需求变了,他们还要改接口,烦死个人。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1095 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 21:01 · PVG 05:01 · LAX 13:01 · JFK 16:01
    ♥ Do have faith in what you're doing.