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)


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.


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.


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.


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".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.