TGViewer
DEKSDEN notes DEKSDEN notes @deksden_notes · 3.11K subscribers
Post #473 930
⚪️ Подход к проектированию

#flow

Думаю, это достаточно очевидно, но на всякий случай поделюсь своим подходом к созданию софта.

Можно условно назвать его "layered" - как лук, ибо великаны - они как лук ("Вонючие? Нет! Многослойные" (ц) Шрек).

👉 Идея в следующем.

▶️ Допустим, делаем некую софтину, которая работает через любой UI (GUI, TUI). Очевидно, что у нее есть некая логика и фейс.

▶️ Я всегда в таком случае выношу логику во внешний слой. Можно сразу делать сервер, потому что даже для локальной утилиты пригодится. Хорошая граница системы получается, к слову. Сервер в утилите может быть in-process, это когда он линкуется внутрь процесса клиента и вызывается не через сокет/порт а прямо в коде. Но логика сервера - полноценная, его одной строчкой можно запустить на отдельном порту, и получить "бесплатно" уже 2 клиента к одной и той же логике.

▶️ Следом я делаю стандартную обвязку сервера: фиксируем контракт серверных роутов/ручек/маршрутов (кто как зовет), можно в open API стандарте. Делаем типизированный client для этого api, чтобы все валидировалось и типизировалось "из коробки".

▶️ Удобно все раложить в мультирепо - client, server отдельными пакетами.

▶️ Самое важное: следом делаем CLI клиента, который имеет доступ ко всем нужным нам функциям через client пакет.

И ВОТ ЭТОТ CLI УПРАВЛЯЕТСЯ АГЕНТОМ на этапе разработки. Вы именно через него будете тестирвоать сценарий работы и основную логику вашей системы.

▶️ Дальше все реализовывается до состояния, когда все работает, под управлением агента. Можно реальные зависимости даже дергать (типа, БД там у вашего сервера реальная, миграцию затестить, экспорты/импорты). В общем, суть в том, что ВСЕ сценарии использования системы гоняются на CLI чере агента.

▶️ По итогу отработки логики с агентом, мы фиксируем успешную работу логики в ВИДЕ ТЕСТОВ e2e типа, я их называю сценариями/business processes. Это тот же сценарий, что исполнял агент, только в виде детерминирвоанного теста. На cli тест сильно проще пишется, не надо чего то тяжелого типа playwright/CDP.

▶️ Поверх живой логики в любой момент можно прикрутить ваш GUI/TUI или Desktop UI / Swift / Electron / Electrobun / Tauri и прочую хрень. Если это сделать "параллеьно", то можно будет смотреть в UI как агент ваш сценарий "проегает" по системе.

❓ В чем профит? Через cli агенту проще и ГОРАЗДО быстрее добраться до отладки именно логики системы, чтобы все работало ок. Не будет мешать GUI обвязка со своими багами

❓ Проще отладить GUI/TUI зная что логика "внизу" уже работает

❓ Проще предусмотреть все в апи чего надо, если вся логика через это апи реализуется. Доделки для GUI скорее в виде вспомогательных ручек, которые удобно для UI отдают инфу.

❓ Так сильно быстрее и надежнее. Вы получаете детерминирвоанные и достаточно быстрые тесты, которые на GUI не завяаны, значит можно исключить chrome binary / playwright и тп.

❓Playwright используем по назначению: для тестирвоания самого ГУЯ.


Как то так. Тоже так делаете?


@deksden_notes
  • 🔥 23
  • 👍 2
  • ❤‍🔥 1
More from @deksden_notes
  1. Oct 8, 2026⚪️ Grok Bot получил доступк к X Ранее давали кредиты $15 при налаживании коннекта с платфо…
  2. Oct 8, 2026⚪️ Что бы это значило? WAT? Грок будет использовать клод?! Грок 4.8 оказался не таким аген…
  3. Oct 7, 2026⚪️ Codex Reset (banked) и 3-й день 28 дневного ship-темберя Это было быстро! Клозеды сегод…
  4. Oct 7, 2026⚪️ Decision Models бенчмарки В одном из своих пайплайнов сделал мелкий тестовый стенд и пр…
  5. Oct 7, 2026⚪️ Haiku 5.5 Хайку обновили, и, видимо, это модель из трендовой нынче категории флешей - у…
  6. Oct 7, 2026⚪️ Чат - 1к Что промо животворящее делает! Бодро добрались до 1к участников в чате Всех по…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →