Size: a a a

Архитектура ИТ-решений

2020 November 21

p

pragus in Архитектура ИТ-решений
Peter Tugolukov
Много где встречал specification first. Особенно в купе с кодогенерацией.
Так да. Пишем спеку => генерим код. Остальные подходы порочны
источник

SV

Sergey V in Архитектура ИТ-решений
Если архитектор это член внешнего экспертного центра (не член команды), он может легко на пальцах показать разработчикам, какие инструменты есть (spec first, наличие дизайна, компонентные диаграммы и пр.), чтобы эти проблемы закрыть. И если разработка не загнана, она начнёт эти инструменты сама использовать.
источник

SV

Sergey V in Архитектура ИТ-решений
Ну а если член команды, то использовать эти инструменты внутри команды это просто его работа
источник

p

pragus in Архитектура ИТ-решений
Viktor Alexandrov
Кодогенерацию вживую не видел рабочую. Но есть инструменты для контроля соответствия сервиса сваггеру
Любой grpc ;)
источник

p

pragus in Архитектура ИТ-решений
И этим он прекрасен: не получится жить без спеки
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
pragus
Так да. Пишем спеку => генерим код. Остальные подходы порочны
Можно и генерить спеку. Главное - думать об удобстве API. API-First - это скорее образ мысли, чем конкретный подход.
источник

p

pragus in Архитектура ИТ-решений
Gennadiy Kruglov
Можно и генерить спеку. Главное - думать об удобстве API. API-First - это скорее образ мысли, чем конкретный подход.
Главное, чтобы генерация из этой спеки приводила к тому же результату :)
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Sergey V
Если архитектор это член внешнего экспертного центра (не член команды), он может легко на пальцах показать разработчикам, какие инструменты есть (spec first, наличие дизайна, компонентные диаграммы и пр.), чтобы эти проблемы закрыть. И если разработка не загнана, она начнёт эти инструменты сама использовать.
Конечно. Разработчики со всем согласятся и сделают всё по своему.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
pragus
Главное, чтобы генерация из этой спеки приводила к тому же результату :)
Именно это я и хотел сказать)
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
pragus
Любой grpc ;)
Я про сваггер. Так-то и IDL был
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Документация нужна, чтобы кто-то со стороны мог быстро погрузиться в дизайн решения или сделать аудит.
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
У меня API first обычно выражается в том, чтобы быстро модельку и контроллеры набросает разработчик и сгенерит рыбу сваггера
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
А дальше уже сваггер допиливается до удобоваримого вида
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
И по нему делается сервис
источник

SV

Sergey V in Архитектура ИТ-решений
Swagger (OpenAPI) codegen неплохо справляется с уровнем интерфейса, далее его шаблоны кодогенерации можно править и добиваться нужного вида кода интерфейса. Этот код должен собираться автоматически в момент сборки и не быть в репозитории (чтобы его нельзя было подправить напильником). Если далее код реализации не будет совпадать с интерфейсом — оно просто не скомпилируется.

Однако, здесь ничего нет про реализацию и бизнес-ограничения. Только формат.
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Viktor Alexandrov
У меня API first обычно выражается в том, чтобы быстро модельку и контроллеры набросает разработчик и сгенерит рыбу сваггера
Это один из подходов.
источник

p

pragus in Архитектура ИТ-решений
Viktor Alexandrov
У меня API first обычно выражается в том, чтобы быстро модельку и контроллеры набросает разработчик и сгенерит рыбу сваггера
Проблема в том, что всю спеку openapi умеют примерно никто
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
Повторюсь, мне известны проекты, в которых аналитики пишут дефинишены Swagger, и по ним генерируется код. Дефинишены версионируются, разумеется
источник

GK

Gennadiy Kruglov in Архитектура ИТ-решений
pragus
Проблема в том, что всю спеку openapi умеют примерно никто
Есть такие люди, но мало
источник

p

pragus in Архитектура ИТ-решений
Тот же OneOf/AllOf, например.
источник