首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后端/前端/API命名约定

后端/前端/API命名约定
EN

Stack Overflow用户
提问于 2020-03-11 23:00:15
回答 1查看 4.3K关注 0票数 1

例如,我们有两个由Java,C#编写的微服务。前部有打字稿。Java使用camel case,有一个GET与查询参数和JSON响应,C#使用pascal case,一个GET具有查询参数和JSON响应。TypeScript使用camel case,两者都得到。

第一个问题是:对于GET中的查询params和JSON,我们需要使用不同的案例(C# - pascal案例和Java案例),还是需要对所有源使用一种约定?另外,查询params和JSON必须有相同的情况,不是吗?

第二个问题是:如果我已经在pascal中使用了一些带有query和JSON的API。需要我写一些“规范器”来把帕斯卡的情况映射到骆驼的情况吗?在我看来,前端、后端和API可能有不同的约定,但是开发人员需要映射来自其他地方的数据。但是,在前端为API中的所有数据编写许多“序列化”可能有点过头。

根据我的经验,我在那里开发了这个项目--所有的部分都使用了camel case,但也开发了后端和API使用pascal案例和前端使用camel案例的应用程序,但我从上一个案例中遇到了一些问题。

只想看看你对这个主题的看法,知道你是怎么做到的?很高兴看到你自己的例子和经验。非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2020-03-12 17:23:01

几个星期前,在我正在进行的项目中,我们遇到了同样的问题,并考虑了以下几点:

  1. 我们希望“面向公众”的实体具有相同的约定(端点、JSON DTO等)
  2. 我们想要区分函数/方法和变量
  3. 我们不想影响技术

中的学习行为

我们进一步认为,snake_case比camelCase或PascalCase (https://en.wikipedia.org/wiki/Camel_case#Readability_studies)更适合人类阅读。

因此,我们同意JSON中的键是snake_case,用于可读性以及变量名称,只要该语言对此不太固执己见(也就是说,我们采用了针对JavaScript的snake_case,而不是针对JavaScript的)。

此外,我们同意端点是camelCase,因为它是一个类似于构造的方法/函数。我们选择了camelCase而不是PascalCase,因为PascalCase在类名通常是PascalCase方面可能具有误导性。我们甚至使用camelCase作为JavaScript函数。

到目前为止还算不错。希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60645488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档