besogonskiy
@besogonskiy

Как идеально построено взаимодействие между фронтэнд и бэкэнд разработчиками?

Работаем над усовершенствованием процессов внутри компании.

Сейчас ощущается острая проблема. Фронтэнд разработчики и бэкэнд разработчики тратят лишнее время.

Процесс построен так:

Бэкэнд разработчик получает задачи в Трелло на разработку тех или иных api. (добавление товара, пользователей, ... - обычные операции crud + некоторая бизнес логика.

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

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

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

Описывает параметры, которые возвращает метод. (Список параметров он берет из поставленной задачи, но возвращает их в том виде, в котором это технически возможно, например, если одна сущность вложена в другую, то в виде вложенной стркутуры в json формате конечно же.

В результате если его метод будет работать с ошибками, то достаточно будет в том инструменте api ввести определенные значения входных данных и выполнить api. Результат будет виден сразу на выходе и будет понятно фронтэндщик допустил косяк или бэкэнд разработчик.

Вот такое решение увидели мы. Осталось только найти годный инструмент для реализации этого (документация + работа api в реальном времени.) Что то типа программы Postman только Online.

Посоветуйте какие еще способы оптимизировать работу программистов и тестирование задач имеются?
  • Вопрос задан
  • 121 просмотр
Пригласить эксперта
Ответы на вопрос 3
@k2lhu
Полагаю вам нужен Swagger, пример как это выглядит в работе тут.
Перед написание кода вы можете описать весь набор данных и их формат для обмена между бэкендом и фронтендом, и только после оформления доки приступать к работе, в этом случае бэкенду не нужен фронт, он может ориентироваться на описанную документацию сваггера, так же как и фронтед.
Ответ написан
@Vitsliputsli
Как уже ответили, смотреть в сторону swagger.
Но даже без него, проблемы странные. На данный момент, все выглядит так, что бек взвалил на себя работу по отладке фронта, т.е. совсем не его работу, и зашивается. А фронт вместо того, чтобы работать, плюет в потолок, спихивая вину на бек, что у того, что-то не работает.
Чтобы протестировать ему свою работу, он вынужден разворачивать на локальной машине еще фронтэнд и билдить его каждый раз, логиниться и там тестировать как все работает. Частенько он сталкивается с проблемами, что на фронтэнде не все работает без ошибок, а ему приходится думать по вине неправильности работы api это или по другим причинам.

Абсолютно не нужно, ни разворачивать фронт, ни думать что там не работает во фронте и по какой причине. У бека и фронта есть задача по реализации api в ней описано, как обращаться и что должен возвращать каждый метод. Соответственно, бек проверяет работоспособность api путем отправки запросов (через тот же Postman), и тесты тут будут не лишними. Если ошибка обнаруживается на фронте, то к беку летит баг, куда обращались, что получили в ответ, что ожидали получить.
Фронтэнд... Если какая ошибка то у него работа останавливается и он пишет просто в трелло "не работает метод такой то..."

После этого мокирует данный метод и работает дальше.
Ответ написан
@kttotto
все, что .NET
Не понимаю, зачем для тестирования апи разворачивать фронт. Бэк самостоятельно нормально может проверить работоспособность своего апи. Для этого как минимум есть браузер, как максимум есть postman или swagger и куча их альтернатив. Фронт говорит какие ему данные нужны, бэк говорит как будет называться метод и какие параметры с фронта для этого должны передаваться. А дальше как работает фронт, это проблема фронтедщиков.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы