后端/前端/ API命名约定

例如,我们有2个用Java C#编写的微服务。 带有Typescript的前端。 Java使用驼峰式大小写,并具有一个带有查询参数和JSON响应的GET, C#使用pascal大小写,并具有一个带有查询参数和JSON响应的GET。 TypeScript使用驼峰式大小写和两个GET。

第一个问题是: 我们是否需要对GET内部的查询参数和JSON使用不同的情况(C#-pascal情况和Java-camel情况),或者我们需要对所有源使用一种约定? 另外,查询参数和JSON必须具有相同的大小写,不是吗?

第二个问题是: 如果我已经有一些带有查询参数的API和帕斯卡情况下的JSON。我需要写一些“规范化器”将帕斯卡大小写映射到骆驼形吗? 仅从我的角度来看,前端,后端和API可以具有不同的约定,但是开发人员需要映射来自其他地方的数据。但是在前端为API中的所有数据编写许多“序列化”可能会很繁琐。

根据我的经验,我在项目开发中所有零件都使用了驼峰箱,但是我也开发了应用程序,其中后端和API使用了pascal箱,前端使用了驼峰箱,但是我上一个遇到了一些问题。

只想听听您对此主题的看法,并知道您是如何做到的?很高兴看到您自己的示例和经验。非常感谢!

bonwemeters 回答:后端/前端/ API命名约定

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

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

我们进一步认为,与camelCase或PascalCase(https://en.wikipedia.org/wiki/Camel_case#Readability_studies)相比,snake_case对人类的可读性更好。

因此,我们一致认为JSON中的键是snake_case以提高可读性以及变量名称,只要语言对此没有多大意见(即我们在JavaScript中采用snake_case,在Java中则不是)。

我们进一步同意端点为camelCase,因为它是一种类似于构造的方法/功能。我们选择了camelCase而不是PascalCase,因为PascalCase在类名(通常为PascalCase)方面可能会产生误导。我们甚至将camelCase用于JavaScript函数。

到目前为止,效果还不错。希望能有所帮助。

本文链接:https://www.f2er.com/2661224.html

大家都在问