英语是描述 Web 服务(Rest、SOAP 等)的标准吗?

Is the English language a standard to describe a Webservice (Rest, SOAP Etc.)?

在我目前从事的项目中,我们讨论了应该使用哪种语言(英语或西班牙语)来描述路径名、字段、有效负载等

我认为这是一个简单的话题,但是,我找不到准确的来源,其中描述了英语应该是描述 Webservice 组件的标准。

例如,假设我们有一个 Rest API 非常简单的 CRUD 用于创建用户

英语

POST /v1/users

GET /v1/users/{uid}

DELETE /v1/users/{uid}

PUT /v1/users/{uid}

西班牙语

POST /v1/usuarios

GET /v1/usuarios/{uid}

DELETE /v1/usuarios/{uid}

PUT /v1/usuarios/{uid}

我认为这不是问题,但是,我想了解我是否需要遵循一个标准,或者我使用哪种语言来描述 Web 服务的组件是否无关紧要。

可能,这是一个主要基于意见的问题,如果您认为是,请通过评论告诉我。

我认为没有标准,但我只想说:使用其他语言的人可以通过多种方式使用您的代码。所以,坚持英语是让任何人都能理解和使用它的更好方法。

我自己的母语是西班牙语,我认为没有任何技术理由可以用英语(事实上的技术语言)以外的任何语言编写 API。

如果打算开发一个 API 对西班牙语世界以外的任何人都难以驾驭的语言,我想这就是可行的方法。

然而,我看到这种情况在讲西班牙语的软件项目中一次又一次地发生。我认为这是有害的。

OTH,让我们看看日本最强大的科技公司之一乐天。 Rakuten 决定强制将英语作为所有员工的工作语言,即使其大部分业务都在日本。

它告诉你一些事情。在全球互联的 21 世纪世界,将您的产品瞄准最广泛的受众。

我想不出这样做的公理理由(我会说 "do not use goto statements.")但是我不会用英语以外的任何东西写东西。

我的母语是西班牙语-英语,在西班牙生活和工作。在我的许多 IT 软件开发项目中,我发现自己在国际团队中与印度、法国和英国的人合作。在这些情况下,用一种所有人都通用的语言来理解是明智的。另一方面,我也参与过一些项目,其中客户只说一种地方语言,不需要既不使用西班牙语也不使用英语。这实际上取决于您的同事是谁以及您的最终用户是谁。

将另一种语言用作英语总是会强制您替换您的语言的特殊字符,例如重音符和 ñ 以及诸如此类的东西。但这是可以解决的。

问题是:谁会使用你的服务?如果消费者不是说西班牙语的人,他们肯定喜欢英语。

但是,根据我的经验,您通常会有非常特定于域的名称,有时无法将其正确翻译成英文,或者很难知道英文中的正确词是什么,因为翻译人员通常会给您奇怪的翻译对于您的域特定(西班牙语)词。所以我看到很多 Webservices 被翻译成英文,但我仍然不得不问:那是什么意思?因为翻译没有意义。

因此我的意见是使用西班牙语,除非您的 Web 服务实际上是在西班牙语世界之外使用的。因为如果它在西班牙语单词之外消费,也有很好的翻译。

我的母语是德语,我的工作语言主要是英语(在一家美国公司工作),尤其是在编码方面。我基本上也将所有专业软件设置为英语,我什至不得不说当我看到德语时我会感到困惑;-) 所以我的观点是,从我的日常生活角度来看,我什至不会考虑使用我的母语进行编码。

然而,在更一般的层面上,我想争辩说 API 应该以这样一种方式创建,即消费者可以很容易地从端点命名中分辨出它应该做什么。因此,正如上面其他一些人所说,我认为值得考虑最终消费者是谁。 如果你有一个封闭的目标受众,所有人都说同一种语言,没有计划向外部公开 API,那么我可以想象用那种语言制作端点标签。

还有两点值得考虑: - 你能确定所有(未来的)开发人员都会说那种语言并且不会让他们感到困惑吗? - 为 API 端点提供两种语言的标签怎么样?根据您使用的编程语言/框架,我认为复制端点可能非常简单,但调用相同的逻辑。我不确定这是好的做法,但如果对消费者有好处,并且为了安全起见,您仍然希望坚持使用工作语言,我可以想象。

我认为如果您的团队(以及您 project/company 中的未来开发人员)和客户是讲西班牙语的人,您可以根据需要使用英语或西班牙语。但是,如果您认为非西班牙语母语者随时会编码或使用您的 API,您应该使用英语。