Uno sviluppatore front-end dovrebbe mai specificare il formato JSON per gli sviluppatori back-end?


17

Sto assumendo il ruolo di front-end in un progetto. Devo specificare per i miei compagni di squadra back-end il formato esatto di JSON che il loro PHP restituisce al mio JavaScript?

Ad esempio, dovrei dire loro che dovrebbero usare un formato simile a quello descritto qui:

Modo corretto di strutturare JSON per il consumo front-end

O dovrei mantenere il mio ruolo il più sterile possibile e descrivere semplicemente a parole gli input e gli output di cui ho bisogno dalla loro interfaccia back-end? (Naturalmente, se ciò dovesse accadere, potrebbe essere più difficile da parte mia gestire i loro diversi formati di struttura dei dati)


10
Ho visto che aveva senso per loro fare la prima proposta basata su input generali. Ciò non significa che la conversazione si interrompa alla prima proposta.
Doug T.

Ha senso!
LazerSharks il

4
Qualcuno deve specificare il formato esatto dei dati contenuti in JSON. Potresti essere anche tu. Davvero, dovrebbe essere chiunque abbia più esperienza nella creazione di specifiche.
gnasher729,

2
@ gnasher729: o se il formato è così semplice che sei sicuro che entrambe le parti siano più che qualificate per specificarlo, chiunque scriva il primo codice che deve sapere che dovrebbe specificarlo. Questo può anche essere considerato una ricompensa per chiunque sia il più veloce ad iniziare i loro test ;-) In generale si potrebbe dire che la persona che lo fa non dovrebbe sempre essere la persona con più esperienza, spesso è meglio usare la persona con il minimo esperienza che è sufficiente per il compito, ma è una questione di sviluppo della persona.
Steve Jessop,

Risposte:


42

Questa è una conversazione che dovresti avere insieme, discutendo i requisiti e i pro e i contro di diversi formati.

Se una parte o l'altra sta dettando ciò che accade, finirai con un software scadente e una squadra infelice.


1
Ha senso! Mi chiedevo cosa succedesse davvero / di solito là fuori nel mondo dello sviluppo.
LazerSharks il

5
Giusto. Ci lavori insieme. Se è qualcosa di un po 'complicato, idealmente trovi un formato comune supportato dalle librerie su entrambi i lati, per rendere lo sviluppo più facile / veloce.
AE

9

Sicuramente dovresti contribuire a come dovrebbero apparire il formato e la struttura di JSON. Vedo più spesso che gli ingegneri front-end, i consumatori delle API, sono quelli che sanno come dovrebbe essere la struttura dei dati.

Sei tu che userai i dati, formattali, esegui il ciclo e lavoraci. Dovresti avere un'opinione su come vuoi che venga consegnato.


3

Benvenuti nel meraviglioso mondo dello sviluppo del middleware. Sviluppare un protocollo può essere un duro lavoro e un grande dibattito, e nessuno dovrebbe mai vedere i risultati.

Se fai parte di una piccola squadra, evita un dittatore: incontra rapidamente tutti per definire il protocollo.

I team di medie dimensioni potrebbero voler avere rappresentanti che elaborano il protocollo.

I team di grandi dimensioni e / o i team con un'organizzazione complessa dovrebbero avere persone di middleware dedicate per controllare il protocollo.

In tutti i casi documento! Quali sono i presupposti, quali sono le post-condizioni, quali sono i campi obbligatori, quali sono i campi opzionali, quali sono gli effetti collaterali, quali errori vengono restituiti ... Mantieni vivo il documento, quando vengono rilevate nuove condizioni, tipi di errore o effetti collaterali , quindi vengono aggiunti al documento.

Vorrei inoltre raccomandare test unitari sia lato client che server e test di sistema per garantire la conformità al documento.

Può sembrare un sacco di lavoro, ma piccoli passi falsi qui possono essere molto costosi e richiedere molto tempo.


Ah, felice di sapere che esiste un mondo intero dedicato a questo aspetto. Pensavo che questo aspetto sembrasse dove la gomma incontra davvero la strada in termini di divisione tra front-end e back-end.
LazerSharks il

1

Vorrei solo chiedere Perché no? Quando parliamo di un progetto, parliamo anche del team che ci sta lavorando e si prevede che dovrebbe essere accolto con favore il parere delle caratteristiche e della struttura utilizzate. Come sviluppatore credo personalmente e apprezzo il contributo dei compagni di squadra.

Sai che c'è un detto "se vuoi andare veloce, vai da solo. Se vuoi andare lontano, vai insieme".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.