V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jerrry
V2EX  ›  问与答

你们的 JS 属性命名规范是用的下划线吗?后台接口(包括第三方)的字段名大部分都是下划线啊。

  •  
  •   jerrry · 2019-11-08 13:13:46 +08:00 · 1996 次点击
    这是一个创建于 1845 天前的主题,其中的信息可能已经有所发展或是发生改变。

    还是更喜欢驼峰。

    5 条回复    2019-11-08 20:33:56 +08:00
    Carseason
        1
    Carseason  
       2019-11-08 13:20:16 +08:00
    接口用下划线吧,函数命名变量这些可以用驼峰
    比如一个 user_id 的接口会比 userId 稍微好识别一点
    我是这么认为的
    ChefIsAwesome
        2
    ChefIsAwesome  
       2019-11-08 13:46:24 +08:00 via Android
    数据库不分大小写,所以接口是下划线的。驼峰可以不当作空格,而是当作一个完整的特殊词,比方讲 iOS 这种用法,估计英语国家的人比较习惯这样。所以编程语言自带的方法、变量之类的都是驼峰的。
    passerbytiny
        3
    passerbytiny  
       2019-11-08 14:01:41 +08:00
    下划线和驼峰在读的时候区别不明显,但是在输入的时候,“shift” + “-” 然后下一个单词,明显没有直接输入下一个单词但首字母需要同时按下“shift”,来得流畅。基本上除了数据库和 Windows 这两个不区分大小写的环境,没人愿意用下划线。

    JavaScript 虽然根 Java 无关,但它这个 Java 可不是白碰瓷的,它最初的编码习惯就来自于 Java,所以应该以驼峰法为主。

    至于后台接口返回的字段是下划线,那八成是后台懒得做 ORM 转换,甚至业务处理都懒掉了,从数据库查询出来后直接就返回了。

    另外,若按照 HTTP 的习惯,那么单词的分隔符是短横杠“-”,不是下划线“_”,这个风格是更好的风格——输入更自然,但是绝大部分编程语言不支持。
    jerrry
        4
    jerrry  
    OP
       2019-11-08 14:36:05 +08:00
    @Carseason @ChefIsAwesome @passerbytiny 比如接口返回 { user_code: '', user_id: '' },那如果我 js 用驼峰命名的话( const user = { userCode: '', userId: '' })还需要手动转一下?或者有没有什么更好的方式?感觉还不如都按照接口返回的结构进行命名。
    ChefIsAwesome
        5
    ChefIsAwesome  
       2019-11-08 20:33:56 +08:00
    @jerrry 我是接口数据都用下划线,其它的驼峰,习惯了也还好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1188 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.