Javascript 为什么在JS中使用Camel Case,在DB中使用Snake Case?

Javascript 为什么在JS中使用Camel Case,在DB中使用Snake Case?,javascript,sql,json,camelcasing,Javascript,Sql,Json,Camelcasing,我被告知在我的DB中使用snake案例,而不是camelCase。 JSON API要求在单词之间使用破折号作为对象键。 Javascript,每个人都使用camelCase 如果我有一个RAILS服务器从SQL数据库获取数据,将其作为json发送并在javascript中使用,那么我真的需要在这些符号之间进行转换吗 为什么不到处使用snake case?您真的不需要按照标准转换它。命名约定是为了让一组开发人员在同一个应用程序上工作而遵循的 遵循组织定义的命名约定是开发人员更好地理解代码的最佳实

我被告知在我的DB中使用snake案例,而不是camelCase。 JSON API要求在单词之间使用破折号作为对象键。 Javascript,每个人都使用camelCase

如果我有一个RAILS服务器从SQL数据库获取数据,将其作为json发送并在javascript中使用,那么我真的需要在这些符号之间进行转换吗


为什么不到处使用snake case?

您真的不需要按照标准转换它。命名约定是为了让一组开发人员在同一个应用程序上工作而遵循的


遵循组织定义的命名约定是开发人员更好地理解代码的最佳实践。

对于JavaScript,是否使用camel case取决于您(或项目指南)。但是,因为几乎每个majaor库和核心API都使用驼峰案例,所以这样做是一个好主意,因为这样您就不需要考虑是否需要使用其中一个

对于DBMS,这取决于操作系统和DBMS,因为使用混合字母时可能会遇到技术问题。例如,如果您有一个在Windows系统上运行的MySQL数据库,那么MySQL将不关心表名的大小写,因为文件系统不区分大小写。至此,Windows上的默认MySQL配置将自动将所有表名转换为小写。只要您的DBMS仍在windows机器上,这就不会成为问题,但一旦您决定切换到Linux基础服务器,那么将数据从windows迁移到Linux机器将遇到巨大的问题


为了不依赖于这些问题,通常只在DBMS中使用小写字母,而不管DBMS是否存在大写字母问题。对于小写字母,您肯定不会有问题;对于大写字母,如果可能有问题,您需要进行调查。

您可以使用此库在两者之间进行转换: 它将snake_case转换为camelCase,反之亦然

  const caseConverter = require('case-converter')

  const snakeCase = {
    an_object: {
      nested_string: 'nested content',
      nested_array: [{ an_object: 'something' }]
    },
    an_array: [
      { zero_index: 0 },
      { one_index: 1 }
    ]
  }

  const camelCase = caseConverter.toCamelCase(snakeCase);

  console.log(camelCase)
  /*
    {
      anObject: {
        nestedString: 'nested content',
        nestedArray: [{ anObject: 'something' }]
      },
      anArray: [
        { zeroIndex: 0 },
        { oneIndex: 1 }
      ]
    }
  */

如果你是为自己编程,那么就使用你喜欢的任何东西。如果你是为你的员工编程,你可以使用他们需要的任何东西。
我真的需要在这些符号之间转换吗<代码>某些值
!=<代码>某些值-因此,如果您试图访问某些值,则必须在这三种格式之间进行转换。另外,我在JSON规范中没有看到使用破折号的内容。但是,我不知道你说的杰森是什么意思。谢谢你详细的回答。所以我将在前端使用camelCase。这是否意味着我应该使用JS将json“get”请求转换为camelCase?在AngularJS中,我真的很难弄清楚如何做到这一点。我觉得如果您要在linux上部署,那么就不值得匆忙。谁想手动将db数据转换为JS的驼峰大小写?