Convenzione di denominazione dei metodi in SDK [chiuso]

2

Creo la mia API e ora creo gli SDK per consentire ai miei utenti di accedervi. Swagger genera un brutto nome, ad esempio:

public void sellersSellerIdShipmentPost(){
...
}

Ovviamente è difficile da leggere e capire. Qual è la convenzione di denominazione dei metodi per gli SDK? Nell'API di Facebook, usano qualcosa come CreateAppGroupDialog ma sembra un SOAP e non API.

Che cosa è una buona pratica per gli SDK? Non lo so, ma penso che forse una buona ideia sia l'uso di httpMethodName. Per esempio:

public void putSellersShipment(){
    ...
}
public void postSellerShipment(){
    ...
}
    
posta Daniela Morais 11.04.2017 - 19:45
fonte

1 risposta

3

Non c'è nulla di particolare negli SDK. Hai nominato le cose in un modo che le rende esplicite e non ambigue. Il tuo CreateAppGroupDialog è un buon esempio.

Attaccando con i verbi HTTP, introduci due potenziali problemi:

  • L'interfaccia perde. Come utente della tua interfaccia, non mi interessa che usi HTTP sotto il cofano, e in particolare non mi interessa la differenza semantica tra PUT e POST. Se voglio creare una finestra di dialogo di un gruppo di applicazioni, non ho bisogno di capire se devo PUT o PATCH, o qualunque cosa le specifiche HTTP dica sul verbo appropriato.

    Idealmente, non dovrebbe apparire come SOAP, né come REST. Dovrebbe apparire come un'interfaccia e nient'altro. I protocolli sono l'implementazione e dovresti essere in grado di scambiarli senza modificare l'interfaccia.

  • Potrebbero non esserci verbi appropriati per esprimere ciò che il metodo sta effettivamente facendo. Se la tua logica di business ha un posto per un metodo chiamato SqueezeJuice , lo chiami così; il fatto che le specifiche HTTP non contengano alcun verbo SQUEEZE è irrilevante.

risposta data 11.04.2017 - 20:48
fonte

Leggi altre domande sui tag