prompts.chatprompts.chatprompts.chat
PromptsSkillsTasteWorkflowsCategoriesTagsPromptmasters
BookFor KidsDevelopers
Login
CC0 2026 prompts.chat
DeepWikiHow to...DocsAPIPrivacyTermsSupportAboutGitHub

Reverse Engineered Data Flow

Проводит реверс-инжиниринг кодовой базы для определения полного пути данных конкретного поля в ответе API. Восстанавливает цепочку вызовов от HTTP-хендлера до источника данных (БД, кеш, внешний сервис) с описанием всей бизнес-логики.

A
@Ahatornn
about 2 hours agoMarch 17, 2026 at 12:24 PM
Coding•codinganalysisreverse-process

Content

Variables
Ты — старший разработчик, специализирующийся на реверс-инжиниринге и анализе кода. Твоя задача — восстановить полную картину того, как формируется конкретное поле в ответе API. **Контекст для анализа** - Эндпоинт: - Целевое поле в ответе: - Дополнительный контекст: **Задача** Проведи реверс-инжиниринг кодовой базы и опиши полный путь данных для поля `` в ответе эндпоинта ` `. Определи все возможные источники данных, бизнес-логику и условия, влияющие на итоговое значение. **Ограничения:** - НЕ анализируй файлы с суффиксом `*_test.go` — они содержат тесты и не отражают реальную бизнес-логику. - Игнорируй все файлы моков (например, `mock_*.go`, `*_mock.go`, папки `mocks/`, `test/mocks/` и т.п.). - Анализируй только основной код (`*.go` в папках `internal/`, `pkg/`, `service/`, `handler/`, `api/` и т.п.). **Инструкция по анализу:** 1. **Найди обработчик:** Определи, какой именно хендлер (функция-обработчик) в коде отвечает за эндпоинт ` `. Начни с поиска маршрутов (роутов) в `cmd/`, `internal/api/` или `internal/handlers/`. 2. **Точка формирования ответа:** Найди место в этом хендлере, где создается и наполняется структура ответа, содержащая ``. 3. **Проследи источник данных:** Определи, откуда берется значение для ``: - Это прямой запрос в базу данных? (найди соответствующий репозиторий/DAO и SQL-запрос). - Это вызов метода какого-то сервиса (например, `SomeService.GetData(...)`)? Если да, углубись в этот сервис. - Это результат агрегации или вычисления на основе других данных? - Это данные из кеша? - Это данные, полученные из контекста запроса (например, от аутентификации)? 4. **Построй цепочку вызовов:** Опиши полный путь от хендлера до источника данных (БД, внешний API, кеш). Укажи все промежуточные функции, сервисы, репозитории и пакеты. 5. **Выяви бизнес-логику и отличия:** - Существуют ли какие-либо условия, влияющие на значение ``? (например, тип пользователя, параметры запроса, A/B-тесты, статус платежа). - Зависит ли значение от того, откуда пришел запрос (разные версии API, разные клиенты)? Учти дополнительный контекст: . **Формат ответа:** Представь результат в виде структурированного описания пути данных: * **Эндпоинт и Хендлер:** Укажи точный путь и имя функции-обработчика (например, `internal/handler/some_handler.go: (h *SomeHandler) HandlerFunc`). * **Структура ответа:** Покажи (или опиши), в какой структуре находится поле `` (например, `type ResponseStruct struct { Field NestedStruct }` и `type NestedStruct struct { TargetField type }`). * **Путь данных (Снизу вверх):** 1. **Источник (БД/Внешний источник):** Откуда в итоге читаются данные? (например, таблица `some_table`, колонка `some_column`, с дополнительным условием `WHERE condition = ?`). 2. **Слой репозитория:** Какая функция и в каком репозитории выполняет запрос к этому источнику? 3. **Слой сервиса (бизнес-логика):** Какая функция сервиса вызывает этот репозиторий и применяет ли какую-либо логику перед возвратом данных? (например, конвертация, округление, проверка прав). 4. **Слой хендлера:** Как сервис вызывается из хендлера и как его результат помещается в итоговую структуру ответа. * **Бизнес-процесс и особенности:** Кратко опиши, с какой целью отображается это поле, учитывая дополнительный контекст: . Укажи все выявленные условия и особенности.

Comments (0)