javascript - node.js 中的 Snake_case 或 camelCase

标签 javascript node.js

所以我有 node.js 应用程序,它向客户端公开一些 API 并连接到一些 SQL 数据库。 首先让我们介绍一些前提:

  1. 客户端必须使用带有 snake_case 的 API(在请求正文中发送的 JSON 对象中的键在 snake_case 中)。
  2. 数据库列名也是 snake_case

问题是因为 javascript 标准/实践正在使用我想保留的 camelCase

所以我看到有 3 个解决方案:

  1. 根据需要即时将数据从蛇 (API) 转换为 Camel (应用程序)再到蛇(数据库)。 这将为系统引入一些新层,并且所有这些都不会比其他解决方案复杂。
  2. 在 node.js 应用中使用 snake_case。 但无论我是否使用蛇,我使用的所有其他依赖项仍将是 Camel ,这并不能解决整个问题。
  3. 在 node.js 应用程序中混合 snake_case 和 camelCase。这是我想避免的事情:)

那你有什么建议?我最喜欢的是第一个解决方案,但如果您有其他未在此处提及的聪明想法,请随时告知。

最佳答案

作为 Occam's razor原则说,最简单的解决方案就是最好的解决方案。

如果您一方面有客户的要求,而node.js code style guides另一方面。我会采取满足两者的最简单的解决方案。外部 API 应该是蛇案例,在内部你可以使用 Camel 案例。如果您坚持一致性,您可以在任何地方使用蛇形案例,因为我认为客户的要求具有更高的优先级。

我真的会避免任何用于转换案例的额外层,因为它会给最终解决方案带来额外的复杂性,它可能会产生额外的错误,并且将来需要额外的维护。

关于javascript - node.js 中的 Snake_case 或 camelCase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21503430/

相关文章:

javascript - Ember.js:如何创建仅执行代码的路由

javascript - Mocha,nodejs promise 测试无法完成,因为缺少完成

node.js - 需要 Socket.io 服务器的启动/停止脚本

javascript - 使用 ES6 代理对象从目标对象检索属性时的符号与字符串

arrays - 如何订阅 channel 数组Node + Redis

javascript - 为什么 Errors 不能被字符串化?

javascript - jQuery:在单独的线程中检索数据

javascript - 为什么我的 Redux 更改状态根本不会改变?

基于 Node.js + Express 的应用程序未与 iisnode 一起运行

javascript - NodeJS JSON.stringify() 瓶颈