Czy programista front-end powinien kiedykolwiek określać format JSON dla programistów back-end?


17

Przejmuję frontendową rolę w projekcie. Czy powinienem określać dla moich kolegów z zespołu dokładny format JSON, który ich PHP zwraca do mojego JavaScript?

Na przykład, czy powinienem im powiedzieć, że powinni użyć formatu podobnego do opisanego tutaj:

Właściwy sposób na strukturyzację JSON na potrzeby konsumpcji

A może powinienem zachować jak najjaśniejszą rolę i po prostu opisać słowami wejścia i wyjścia, których potrzebuję z ich interfejsu zaplecza? (Oczywiście, jeśli tak się stanie, z mojej strony może być trudniej obsługiwać ich różne formaty struktury danych)


10
Widziałem, że sensowne jest, aby przedstawili pierwszą propozycję w oparciu o ogólne informacje. Ale to nie znaczy, że rozmowa kończy się przy pierwszej propozycji.
Doug T.

To ma sens!
LazerSharks

4
Ktoś musi określić dokładny format danych zawartych w JSON. Równie dobrze możesz być ty. Naprawdę powinna to być osoba, która ma największe doświadczenie w tworzeniu specyfikacji.
gnasher729,

2
@ gnasher729: lub jeśli format jest tak prosty, że masz pewność, że obie strony są więcej niż wykwalifikowane, aby go określić, ktokolwiek napisze pierwszy kod, który powinien wiedzieć, powinien go określić. Można to również uznać za nagrodę dla tych, którzy najszybciej rozpoczynają testy ;-) Ogólnie można powiedzieć, że osoba, która to zrobi, nie zawsze powinna być osobą z największym doświadczeniem, często lepiej jest użyć osoby, która ma najmniej doświadczenie wystarczające do wykonania zadania, ale jest to kwestia rozwoju osoby.
Steve Jessop,

Odpowiedzi:


42

Jest to rozmowa, którą powinieneś prowadzić razem, omawiając wymagania, zalety i wady różnych formatów.

Jeśli jedna lub druga strona dyktuje to, co się stanie, skończysz ze złym oprogramowaniem i nieszczęśliwym zespołem.


1
To ma sens! Zastanawiałem się, co naprawdę / zwykle dzieje się w świecie programistów.
LazerSharks

5
Dobrze. Pracujesz nad tym razem. Jeśli jest to trochę skomplikowane, najlepiej jest znaleźć wspólny format obsługiwany przez biblioteki na obu końcach, aby ułatwić / przyspieszyć programowanie.
AE

9

Zdecydowanie powinieneś przyczynić się do tego, jak powinien wyglądać format i struktura JSON. Często widzę, że inżynierowie front-end, konsumenci API, wiedzą, jak powinna wyglądać struktura danych.

Ty będziesz używać danych, formatować je, przeglądać i pracować z nimi. Powinieneś mieć opinię na temat tego, jak chcesz go dostarczyć.


3

Witamy we wspaniałym świecie tworzenia oprogramowania pośredniego. Opracowanie protokołu może być ciężką pracą i debatą i nikt nigdy nie powinien zobaczyć wyników.

Jeśli jesteś w małym zespole, unikaj dyktatora: spotykaj się ze wszystkimi, aby wypracować protokół.

Średnie zespoły mogą chcieć mieć przedstawicieli, którzy opracują protokół.

Duże zespoły i / lub zespoły o złożonej organizacji powinny mieć dedykowane osoby z oprogramowaniem pośredniczącym do kontrolowania protokołu.

We wszystkich przypadkach dokument! Jakie są warunki wstępne, jakie są warunki dodatkowe, jakie są wymagane pola, jakie są pola opcjonalne, jakie są skutki uboczne, jakie błędy są zwracane… Utrzymaj dokument w stanie życia, gdy zostaną znalezione nowe warunki, typy błędów lub skutki uboczne , następnie są dodawane do dokumentu.

Poleciłbym również testy jednostkowe po stronie klienta i serwera oraz testy systemowe w celu zapewnienia zgodności z dokumentem.

To może wydawać się dużo pracy, ale drobne pomyłki tutaj mogą być bardzo drogie i czasochłonne.


Ach, z przyjemnością dowiaduję się, że istnieje cały świat poświęcony temu aspektowi. Pomyślałem, że ten aspekt wydaje się miejscem, w którym guma naprawdę spotyka się z drogą pod względem podziału na przód i tył.
LazerSharks,

1

Chciałbym tylko zapytać, dlaczego nie? Kiedy mówimy o projekcie, mówimy również o zespole nad nim pracującym i należy się z nim zapoznać i usłyszeć opinię o zastosowanych funkcjach i strukturze. Jako programista osobiście wierzę i cenię wkład członków zespołu.

Wiesz, istnieje powiedzenie „jeśli chcesz iść szybko, idź sam. Jeśli chcesz iść daleko, idź razem”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.