Search
Write a publication
Pull to refresh

Comments 10

Не совсем понятно, какой артефакт документации готовит этот инструмент.

В моей практике, такие маппинги чаще всего делаются на BFF слое. Где тупо надо дернуть несколько эндпоинтов подряд и из полученных данных собрать ответ. Для таких эндпоинтов создается описание метода, в котором и содержится последовательность вызовов, правила обработки ответов и сам маппинг.

Т.е. маппинг это только часть документации.

Как вы применяете ваш маппер в процессе разработки? Что вы в результате передаёте разработчикам и тестировщикам и что они с этим делают?

Спасибо за вопросы!
Если кратко: "Да, маппинг - это часть документации"

Где использую:
1. Для интеграции с другими системами. Когда пытаюсь соединить модель данных своего сервиса и другой системы. В данном случае мне предоставляют описание метода другой системы, к которому мне нужно подготовить данные.
2. Прокси методы. Когда по любым причинам создается прослойка для существующего метода и нового.
Например, когда для легаси систему делают REST API

Какие артефакты получаются:
1. Вывод excel с маппингом в табличной форме. Можно копировать в confluence, где описание маппинга
2. JSON, который генерит программа. Из него можно вытащить примеры json'ов для тестировщиков

Что делают с артефактом:
1. Разработчики на основе маппинга пишут код (могут сделать заготовку класса DTO)
2. Для тестировщиков часть документации для сравнения ожидаемого и реального

Тогда давайте продолжим, чтобы понять ценность...

Вот у меня есть :

  • маппинг в программе

  • excel файл

  • json файл

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

Вы это должны сделать сначала в программе, потом обновить excel в конфе, и json.

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

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

Если вы эти артефакты куда-то выкладываете, то как вы их потом обновляете? Как их обновляют другие аналитики?
И как эти артефакты упрощают дальнейшую разработку и тестирование?
Просто, если вы создали инструмент, который генерит всю ту-же табличку в конфе с маппингом, то чере 5-6 итераций правок станет понятно, что проще её обновлять в самой конфе, без дополнительных инструментов. Потому что будет вечный процесс: подгрузи актуальную версию, поправь её, выгрузи обратно. И если это правка в одном поле, то никто замарачиваться не будет...
С json, по большому счёту, тоже самое...

Соответственно и вопросы эти сводятся к одному: Вы как долго в своей практике эту программу используете? Кто-то кроме вас в компании её использует? Как вы работаете совместно?
Вот эти детали интересны.

Про Артефакты тоже не понятно. Для разработчиков нужен swagger или openApi. А какой именно артефакт вы им передаеёте? json с мапингом?
Как разработчики и тестировщики этими артефактами пользуются?
Ну то есть, разработчик и на основе таблички может пишсать код... Как его жизнь от этого инструмента облегчается?

Также, встречал в своей практике low-code платформы, в котором аналогичным способом сразу генериться конечный код. Т.е. этот редактор, впринципе, можно развить до аналогичной low-code платформы. Чтобы на выходе были не файлики с маппингом, а готовый код метода.

Можно, если привязывать к конкретному ЯП. Как вариант на подумать)
Спасибо!

Чудесная статья, только о чем она? О разработке? О программе?

Некая нонейм программа и в ней удобно маппить — ценность статьи нулевая, имхо.

Готов поделиться — делись! — GitHub например🤷🏻‍♂️

Не готов — зачем публикация?

Много вопросов в одном комментарии, но отвечу на последний.
Программа скомпилирована в экзешник, потому что так проще для аналитиков и делюсь по запросу в тг.

Как только приведу код в "публичный" вид, добавлю инструкцию для разработчиков (хотя ЦА аналитики) - сразу уведомлю! Ставьте лайки, подписывайтесь на канал, ставьте колокольчик, чтобы не пропустить)

Sign up to leave a comment.

Articles