Um desenvolvedor front-end deve especificar o formato JSON para desenvolvedores back-end?

17

Estou assumindo a função de front-end em um projeto. Devo especificar para meus colegas de equipe de back-end o formato exato de JSON que o PHP deles retorna ao meu JavaScript?

Por exemplo, devo dizer a eles que devem usar um formato semelhante ao descrito aqui:

Maneira correta de estruturar JSON para consumo front-end

Ou devo manter minha função o mais estéril possível e simplesmente descrever em palavras as entradas e saídas necessárias na interface de back-end? (Obviamente, se isso acontecer, pode ser mais difícil da minha parte lidar com os diferentes formatos de estrutura de dados)

LazerSharks
fonte
10
Pude ver que fazia sentido para eles fazer a primeira proposta com base em informações gerais. Mas isso não significa que a conversa pare na primeira proposta.
Doug T.
Isso faz sentido!
LazerSharks
4
Alguém deve especificar o formato exato dos dados contidos no JSON. Pode muito bem ser você. Realmente, deve ser quem tiver mais experiência na criação de especificações.
gnasher729
2
@ gnasher729: ou se o formato é tão simples que você confia que ambas as partes são mais qualificadas para especificá-lo, quem escreve o primeiro código que precisa saber deve especificá-lo. Isso também pode ser considerado uma recompensa para quem é mais rápido para começar seus testes ;-) Em geral, pode-se dizer que a pessoa que faz isso nem sempre deve ser a pessoa com mais experiência; geralmente é melhor usar a pessoa com menos experiência suficiente para a tarefa, mas isso é uma questão de desenvolvimento da pessoa.
21714 Steve Jobs (

Respostas:

42

Esta é uma conversa que você deve ter juntos, discutindo os requisitos, prós e contras de diferentes formatos.

Se um lado ou outro está ditando o que acontece, você vai acabar com um software ruim e uma equipe infeliz.

Grahamparks
fonte
1
Isso faz sentido! Estava imaginando o que realmente / normalmente acontece no mundo do desenvolvimento.
LazerSharks
5
Certo. Vocês trabalham juntos nisso. Se for algo um pouco complicado, o ideal é encontrar um formato comum suportado pelas bibliotecas nas duas extremidades, para tornar o desenvolvimento mais fácil / rápido.
AE
9

Definitivamente, você deve contribuir para a aparência do formato e da estrutura do JSON. Vejo com mais frequência que os engenheiros de front-end, os consumidores da API, são os que sabem como deve ser a estrutura de dados.

Você vai usar os dados, formatá-los, fazer um loop e trabalhar com eles. Você deve ter uma opinião sobre como deseja que ela seja entregue.

aludvigsen
fonte
3

Bem-vindo ao maravilhoso mundo do desenvolvimento de middleware. Pode ser muito trabalho duro e debate desenvolver um protocolo, e ninguém deve ver os resultados.

Se você estiver em uma equipe pequena, evite um ditador: faça reuniões rápidas com todos para elaborar o protocolo.

Equipes de tamanho médio podem desejar ter representantes que elaborem o protocolo.

Equipes grandes e / ou equipes com organização complexa devem ter pessoal de middleware dedicado para controlar o protocolo.

Em todos os casos, documento! Quais são as pré-condições, quais são as pós-condições, quais são os campos obrigatórios, quais são os campos opcionais, quais são os efeitos colaterais, quais erros são retornados ... Mantenha o documento ativo, quando novas condições, tipos de erros ou efeitos colaterais forem encontrados , eles serão adicionados ao documento.

Eu também recomendaria testes de unidade e de sistema do lado do cliente e do servidor para garantir a conformidade com o documento.

Pode parecer muito trabalho, mas pequenos erros aqui podem ser muito caros e demorados.

Jeffery Thomas
fonte
Ah, fico feliz em saber que existe um mundo inteiro dedicado a esse aspecto. Eu estava pensando que esse aspecto parece onde a borracha realmente encontra a estrada em termos da divisão entre front-end e back-end.
LazerSharks
1

Gostaria de perguntar por que não? Quando falamos de um projeto, também falamos sobre a equipe que trabalha nele, e é esperado e deve ser bem-vindo ao ouvir opiniões sobre os recursos e a estrutura usados. Como desenvolvedor, eu pessoalmente acredito e valorizo ​​as contribuições dos colegas de equipe.

Você sabe que existe um ditado "se você quer ir rápido, vá sozinho. Se você quer ir longe, vá junto".

peixe de vidro
fonte