Должен ли когда-либо разработчик внешнего интерфейса указывать формат JSON для внутренних разработчиков?


17

Я беру фронтальную роль в проекте. Должен ли я указать для моих внутренних партнеров по команде точный формат JSON, который их PHP возвращает в мой JavaScript?

Например, я должен сказать им, что они должны использовать формат, подобный описанному здесь:

Правильный способ структурирования JSON для внешнего интерфейса

Или я должен сохранить свою роль как можно более стерильной и просто описать словами входы и выходы, которые мне нужны от их внутреннего интерфейса? (Конечно, если это произойдет, с моей стороны может быть сложнее обрабатывать их различные форматы структуры данных)


10
Я вижу, что для них имеет смысл сделать первое предложение на основе общего вклада. Но это не значит, что разговор останавливается на первом предложении.
Дуг Т.

Это имеет смысл!
LazerSharks

4
Кто-то должен указать точный формат данных, содержащихся в JSON. С вами тоже. Действительно, это должен быть тот, кто имеет больше опыта в создании спецификаций.
gnasher729

2
@ gnasher729: или если формат настолько прост, что вы уверены, что обе стороны более чем квалифицированы для его указания, тот, кто пишет первый код, который должен знать, должен его специфицировать. Это также можно считать наградой тому, кто быстрее всех начнет тестирование ;-) В общем, можно сказать, что человек, делающий это, не всегда должен быть человеком с большим опытом, часто лучше использовать человека с наименьшим количеством опыт, которого достаточно для выполнения задачи, но это вопрос развития личности.
Стив Джессоп

Ответы:


42

Это разговор, который вы должны вести вместе, обсуждая требования, плюсы и минусы разных форматов.

Если одна или другая сторона диктует, что происходит, вы в конечном итоге получите плохое программное обеспечение и несчастную команду.


1
Это имеет смысл! Интересно, что на самом деле происходит в мире разработки?
LazerSharks

5
Правильно. Вы работаете вместе над этим. Если это что-то немного сложное, то в идеале вы найдете общий формат, поддерживаемый библиотеками на обоих концах, чтобы сделать разработку проще / быстрее.
AE

9

Вы определенно должны внести свой вклад в то, как должен выглядеть формат и структура JSON. Я вижу, что чаще всего передовые инженеры, потребители API, знают, какой должна быть структура данных.

Вы будете использовать данные, форматировать их, проходить по ним и работать с ними. Вы должны иметь мнение о том, как вы хотите его доставить.


3

Добро пожаловать в удивительный мир разработки промежуточного программного обеспечения. Это может быть много тяжелой работы и обсуждения по разработке протокола, и никто никогда не должен видеть результаты.

Если вы в небольшой команде, тогда избегайте диктатора: проводите быстрые встречи со всеми, чтобы выработать протокол.

Команды среднего размера могут пожелать иметь представителей, которые разрабатывают протокол.

Большие команды и / или команды со сложной организацией должны иметь выделенных сотрудников промежуточного программного обеспечения для управления протоколом.

Во всех случаях документ! Каковы предварительные условия, каковы постусловия, какие обязательные поля, какие необязательные поля, каковы побочные эффекты, какие ошибки возвращаются ... Сохраняйте документ живым, когда обнаружены новые условия, типы ошибок или побочные эффекты затем они добавляются в документ.

Я также рекомендовал бы и клиентские и серверные модульные тесты и системные тесты, чтобы гарантировать соответствие документу.

Это может показаться большой работой, но мелкие ошибки здесь могут быть очень дорогими и трудоемкими.


Ах, рад узнать, что целый мир посвящен этому аспекту. Я думал, что этот аспект, кажется, где резина действительно встречает дорогу с точки зрения разрыва между передним концом и задним концом.
LazerSharks

1

Я бы просто спросил, почему нет? Когда мы говорим о проекте, мы также говорим о команде, работающей над ним, и это ожидаемо и должно приветствоваться, чтобы выслушать мнение об особенностях и используемой структуре. Как разработчик, я лично верю и ценю вклад товарищей по команде.

Вы знаете, что есть поговорка «если хочешь идти быстро, иди в одиночку. Если хочешь идти далеко, иди вместе».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.