¿Debería un desarrollador front-end especificar el formato JSON para desarrolladores back-end?

17

Estoy tomando el papel de front-end en un proyecto. ¿Debería especificar para mis compañeros de equipo de back-end el formato exacto de JSON que su PHP devuelve a mi JavaScript?

Por ejemplo, si les digo que deben usar un formato similar al que se describe aquí:

Forma adecuada de estructurar JSON para el consumo frontal

¿O debería mantener mi rol lo más estéril posible y simplemente describir en palabras las entradas y salidas que necesito de su interfaz de fondo? (Por supuesto, si esto sucede, podría ser más difícil de mi parte manejar sus diferentes formatos de estructura de datos)

LazerSharks
fuente
10
Pude ver que tiene sentido que hagan la primera propuesta basada en aportes generales. Pero eso no significa que la conversación se detenga en la primera propuesta.
Doug T.
¡Eso tiene sentido!
LazerSharks
44
Alguien debe especificar el formato exacto de los datos contenidos en el JSON. Bien podrías ser tú. Realmente, debería ser quien tenga la mayor experiencia en la creación de especificaciones.
gnasher729
2
@ gnasher729: o si el formato es tan simple que está seguro de que ambas partes están más que calificadas para especificarlo, quien escriba el primer código que necesita saberlo debe especificarlo. Esto también puede considerarse una recompensa para quien sea más rápido para comenzar sus pruebas ;-) En general, se podría decir que la persona que lo haga no siempre debe ser la persona con más experiencia, a menudo es mejor usar a la persona con menos experiencia quién es suficiente para la tarea, pero eso es una cuestión de desarrollo personal.
Steve Jessop

Respuestas:

42

Esta es una conversación que deberían tener juntos, discutiendo los requisitos y las ventajas y desventajas de los diferentes formatos.

Si un lado u otro dicta lo que sucede, terminarás con un mal software y un equipo infeliz.

grahamparks
fuente
1
¡Eso tiene sentido! Me preguntaba qué sucede realmente / usualmente en el mundo del desarrollo.
LazerSharks
55
Correcto. Ustedes trabajan juntos en eso. Si es algo un poco complicado, lo ideal es que encuentre un formato común compatible con bibliotecas en ambos extremos, para que el desarrollo sea más fácil / rápido.
AE
9

Definitivamente deberías contribuir a cómo debería verse el formato y la estructura del JSON. Veo con más frecuencia que los ingenieros de front-end, los consumidores de API, son los que saben cómo debería ser la estructura de datos.

Usted va a usar los datos, formatearlos, recorrerlos y trabajar con ellos. Debe tener una opinión sobre cómo desea que se entregue.

aludvigsen
fuente
3

Bienvenido al maravilloso mundo del desarrollo de middleware. Desarrollar un protocolo puede requerir mucho trabajo y debate, y nadie debería ver los resultados.

Si está en un equipo pequeño, evite un dictador: tenga reuniones rápidas con todos para elaborar el protocolo.

Los equipos medianos pueden desear tener representantes que resuelvan el protocolo.

Los equipos grandes y / o los equipos con organización compleja deben tener personal dedicado de middleware para controlar el protocolo.

En todos los casos documento! ¿Cuáles son las condiciones previas, cuáles son las condiciones posteriores, qué campos son obligatorios, qué campos son opcionales, cuáles son los efectos secundarios, qué errores se devuelven ... Mantenga el documento vivo, cuando se encuentran nuevas condiciones, tipos de error o efectos secundarios , luego se agregan al documento.

También recomendaría tanto las pruebas unitarias del lado del cliente como del servidor y las pruebas del sistema para garantizar la conformidad con el documento.

Puede parecer mucho trabajo, pero los pasos en falso menores aquí pueden ser muy caros y llevar mucho tiempo.

Jeffery Thomas
fuente
Ah, feliz de saber que hay un mundo entero dedicado a este aspecto. Estaba pensando que este aspecto parece donde el caucho realmente se encuentra con el camino en términos de la división entre el front-end y el back-end.
LazerSharks
1

Solo preguntaría ¿Por qué no? Cuando hablamos de un proyecto, también hablamos del equipo que trabaja en él y se espera que sea bienvenido para escuchar opiniones sobre las características y la estructura utilizada. Como desarrollador, personalmente creo y valoro las contribuciones de los compañeros de equipo.

Sabes que hay un dicho "si quieres ir rápido ve solo. Si quieres llegar lejos, ve juntos".

pez vidrio
fuente