2009-07-17 11 views
0

Wenn Sie eine Programmierschnittstelle mit unterschiedlichen Codierungsstilrichtlinien für die von Ihnen verwendeten Programmiersprachen implementieren, erstellen Sie eine Schnittstelle, die den Richtlinien für Sprachen entspricht oder die Implementierung für den Benutzer verfügbar macht der API-Wrapper.Wrapping-REST-API - Codierungsstile Standards

Ein konkretes Beispiel ist für Ruby und Python-Variablen sind in der Regel klein geschrieben und die Verwendung unterstreicht

my_variable = 'Hello World' 

während in Java/C# Kamel Fall ist der Standard

myVariable = 'Hello World' 

zum Beispiel des Web-Service hat eine Methode, um einen Kontakt in JSON zu erstellen, wäre

{contact: {contactId: 1, firstName: 'John', lastName: 'Smith', emailAddress: '[email protected]'}} 

zum Beispiel d o Sie eine Klasse mit den gleichen Variablennamen (in Camelcase) erstellen

class Contact: 
    contactId = 1 
    firstName = 'John' 
    lastName = 'Smith' 
    emailAddress = '[email protected]' 

oder in einem Verfahren

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

oder folgen Sie Stil-Richtlinien und dann Namen verdeckte Variablen, wenn eine Anfrage machen

Antwort

2

Wenn Sie einen Wrapper für eine vorhandene API erstellen, sollte der Teil, den Sie den Benutzern des Wrappers bereitstellen, im Stil der Sprache sein, in die Sie den Wrapper schreiben.

0

Ich würde so schnell wie möglich zu den Programmierstandards Ihrer Sprache zurückkehren - so sieht der gesamte Code in Ihrem System gleich aus, egal, wo etwas von einer Web-API kommt oder nicht. Ich glaube, dass Sie schnell Objekte mit Kamelschlüsseln finden werden (in Ihrem Fall), die durch Ihr System reisen, was sehr ärgerlich und schlecht strukturiert ist.

Wenn Sie keine verrückten Leistungsanforderungen haben, können Sie sich jedoch eine generische API Caller-Klasse oder ein Modul vorstellen, die camelCased-Schlüssel automatisch in unterstrichene Schlüssel umwandeln. Natürlich wird es Situationen geben, in denen dies schief geht (ein Schlüssel mit dem Namen APIKey würde typischerweise a_p_i_key werden), aber solange Sie das wissen, können Sie diese spezifischen Fälle in dem API-Wrapper fest codieren. Auf diese Weise werden Ihre Kopfschmerzen minimal und Ihr Code-Stil wird immer noch konsistent

0

Wenn Sie JSON verwenden, macht es oft Sinn, die Sprache der JSON-Struktur direkt zu verwenden, z. B. dict und Listen in Python. Dies funktioniert nicht immer, ist aber oft der richtige Ansatz.

Das heißt, Sie verwenden camel case zB Python {'contactId': 1, 'firstName': 'Justin'} etc, aber das sind nur Bezeichner und keine Variablen, also würde ich mir keine Sorgen machen.

Das Erstellen von Funktionen und Klassen ist viel zu ausführlich, wenn Sie die Strukturen direkt verarbeiten können.

XML-APIs sind eine andere Sache, aber der Punkt von JSON ist leicht zu sein und zu nativen Sprachkonstrukten zuzuordnen.