• 请不要在回答技术问题时复制粘贴 AI 生成的内容
vevlins
V2EX  ›  程序员

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

  •  1
     
  •   vevlins · Sep 28, 2021 · 5726 views
    This topic created in 1692 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    代码里用啥主要看习惯,有些人是因为尽可能少按键才用小驼峰。另外我个人会习惯在代码里用全大写+下划线来做常量名的格式,这个只要团队达成一致的标准就行,毕竟是给人看的。
    AllenHua
        7
    AllenHua  
       Sep 28, 2021 via iPhone
    @chendy #5 真的是看习惯了使然
    ctro15547
        8
    ctro15547  
       Sep 28, 2021
    习惯下划线分开清清楚楚明明白白
    zvl0reqglvd
        9
    zvl0reqglvd  
       Sep 28, 2021
    喜欢下划线,有间距分割,看的很清楚。驼峰真的看起来不美观,而且不够清晰明了。
    bwangel
        10
    bwangel  
       Sep 28, 2021
    域名不区分大小写,不支持下划线,只支持中划线。
    bwangel
        11
    bwangel  
       Sep 28, 2021
    @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  
       Sep 28, 2021
    我见过开发规范要求数据库字段命名是特么大驼峰的 离谱
    wangkun025
        13
    wangkun025  
       Sep 28, 2021
    我是后端,用的是下划线。
    dqzcwxb
        14
    dqzcwxb  
       Sep 28, 2021
    能用驼峰用驼峰,不能驼峰再用下划线
    一般开发语言都区分大小写所以用驼峰
    数据库比如 mysql 不区分大小写所以用下划线
    qbhy
        15
    qbhy  
       Sep 28, 2021
    运行在服务端的东西得考虑 windows 和 linux 的区别
    loading
        16
    loading  
       Sep 28, 2021
    数据库相关的 SQL 和很多数据库列名都不区分大小写的,你在不区分大小写的环境用驼峰?
    yuhangch
        17
    yuhangch  
       Sep 28, 2021
    我喜欢下划线!
    7gugu
        18
    7gugu  
       Sep 28, 2021
    约定俗成的规范吧,大家都爱用,用的人也很多,自然而然形成的规则。
    zhuangzhuang1988
        19
    zhuangzhuang1988  
       Sep 28, 2021
    随便用
    imycc
        20
    imycc  
       Sep 28, 2021
    除了大小写敏感之外,不同语言推荐的写法也不太一样。
    python 里的变量比较多使用下划线,typescript 用小驼峰,偶尔兼职写写 php,看着历史代码不同风格的变量名要吐了。

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

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

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

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


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


    如果需求变了,他们还要改接口,烦死个人。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   883 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
    ♥ Do have faith in what you're doing.