0

如果您要包装的 API 与您使用的编程语言具有不同的编码风格准则,您是创建一个符合语言风格准则的接口还是将实现公开给 API 包装器的用户。

一个具体的例子是 ruby​​ 和 python 变量通常都是小写并使用下划线

my_variable = 'Hello World'

而在 Java/C# 中骆驼案例是标准的

myVariable = 'Hello World'

例如,Web 服务有一种方法可以在 json 中创建联系人

{contact: {contactId: 1, firstName: 'John', lastName: 'Smith', emailAddress: 'john@smith.com'}}

例如,您是否创建了一个具有相同变量名的类(在骆驼情况下)

class Contact:
    contactId = 1
    firstName = 'John'
    lastName = 'Smith'
    emailAddress = 'john@smith.com'

或在方法中

def create_contact(contactId, firstName, lastName, emailAddress): 
    # make remote request

或者您是否遵循样式指南,然后在发出请求时隐藏变量名称

def create_contact(contact_id, first_name, last_name, email_address):
    # convert variable names
    # make remote request 
4

3 回答 3

2

当您为现有 API 创建包装器时,您向包装器的使用者公开的部分应该采用您编写包装器所用语言的样式。

于 2009-07-17T13:05:36.863 回答
0

我会尽快回到你的语言的编码标准——这样,你系统中的所有代码看起来都是一样的,无论某些东西是否来自某个 Web API。我相信您会很快找到带有驼峰键(在您的情况下)在整个系统中传播的对象,这非常烦人且结构不良。

如果您没有疯狂的性能要求,您可以考虑创建一个通用 API 调用程序类或模块,将驼峰式键自动转换为下划线键。当然,在某些情况下会出错(称为 APIKey 的密钥通常会变成 a_p_i_key),但只要您知道这一点,您就可以在 API 包装器中以硬编码的方式修复这些特定情况。这样,您的头痛将最小化,并且您的代码风格仍将保持一致

于 2009-07-17T13:07:53.247 回答
0

通常,如果您使用 JSON,直接使用您的语言等效于 JSON 结构是有意义的,例如 Python 中的字典和列表。这并不总是有效,但它通常是正确的方法。

这将意味着您使用驼峰式大小写,例如 Python {'contactId': 1, 'firstName': 'Justin'} 等,但这些只是标识符而不是变量,所以我不会太担心。

当您可以直接处理结构时,创建函数和类就太冗长了。

XML API 是另一回事,但 JSON 的重点是轻量级并映射到本地语言结构。

于 2009-08-24T23:12:14.450 回答