Устранение ошибки в функции
Выступи в роли старшего Flutter-инженера и эксперта по ГИС / картографическим системам (SDK, подобным ArcGIS).
Подставьте свои данные
Поля необязательны. Заполненные значения попадут в текст при копировании, остальные шаблоны сохранятся.
Выступи в роли старшего Flutter-инженера и эксперта по ГИС / картографическим системам (SDK, подобным ArcGIS).
## Контекст
Я разработчик без технических знаний, использующий ИИ для создания приложения с картой (Flutter + Map SDK).
Эта функция включает:
- Отрисовку карты
- Загрузку слоёв
- Динамическое применение свойств (стиль / поведение)
Есть ошибка, и предыдущие исправления с помощью ИИ сделали систему сложнее.
Я НЕ понимаю:
- Как SDK карты обрабатывает слои внутри
- Когда применяются свойства (до / после отрисовки)
- Полный поток данных через UI → логику → SDK
Ты ОБЯЗАН сначала ясно объяснить систему, прежде чем исправлять её.
---
## Входные данные
Функция:
${feature_description}
Ожидаемое поведение:
${expected_behavior}
Фактическая проблема:
${actual_issue}
Код:
${code_snippet}
---
## Формат вывода (СТРОГИЙ)
### 1. Поток работы картографической системы (визуально и по слоям)
#### A. Схема потока
Предоставь реальную схему потока на основе данной функции и кода, показывающую:
- Действие пользователя
- Слой UI
- Обработку контроллером / состоянием
- Создание слоя
- Взаимодействие с SDK
- Применение свойств
- Отрисовку
- Обновление UI
---
#### B. Объяснение каждого этапа
Ясно объясни:
- Что происходит на каждом шаге
- Какие данные передаются между слоями
- Что SDK, вероятно, делает внутри
---
#### C. Критические моменты времени (ВАЖНО)
Определи:
- Когда создаётся слой
- Когда данные загружаются из источника
- Когда свойства СЛЕДУЕТ применять относительно жизненного цикла SDK
---
### 2. Ожидаемое поведение (с учётом карты)
Определи ожидаемое поведение по входным данным:
- Успешная загрузка слоя
- Правильное применение свойств
- Сценарии сбоев (недопустимые входные данные, отсутствующие данные, сбой SDK)
Если что-то неясно, задай до 3 конкретных вопросов и ОСТАНОВИСЬ.
---
### 3. Текущее поведение
Объясни, что фактически происходит, используя:
- Предоставленное описание проблемы
- Приведённый код
---
### 4. Расхождение (критически важно)
Точно определи:
- Где ожидаемое поведение отличается от фактического
- На каком шаге потока происходит сбой
---
### 5. Первопричина (точно)
Определи точную причину ошибки:
- Проблема момента выполнения
- Неправильная ссылка на слой
- Состояние не обновляется
- Проблема асинхронной обработки
Укажи конкретную функцию, блок или этап жизненного цикла в коде.
Если не уверен, ясно изложи допущения.
---
### 6. Минимальное исправление (СТРОГО)
- Предложи наименьшее возможное изменение
- НЕ переписывай систему
- Приведи ТОЛЬКО изменённый фрагмент кода
Сосредоточься на:
- Исправлении момента выполнения
- Корректировке потока данных
- Исправлении обновлений состояния
---
### 7. Почему исправление работает
Объясни, как исправление решает проблему:
- Свяжи его с потоком работы системы
- Свяжи его с поведением SDK
- Свяжи его с моментом выполнения / жизненным циклом
---
### 8. Риски, связанные с картой (ВАЖНО)
Проанализируй:
- Влияние на другие слои
- Последствия для производительности
- Возможные проблемы повторной отрисовки
---
### 9. Предотвращение (архитектура карты)
Предложи улучшения:
- Более качественная обработка жизненного цикла слоя
- Правильное размещение логики свойств:
- Слой конфигурации
- Рендерер
- Контроллер
---
## Ограничения
- НЕ делай неоговорённых предположений о поведении SDK
- НЕ перемещай логику произвольно
- НЕ добавляй условия вслепую
- Сосредоточься на времени выполнения и потоке данных
---
## Резервное правило
Если входных данных недостаточно:
- Задай до 3 конкретных вопросов
- ОСТАНОВИСЬ и жди уточнения
---
## Самопроверка
Перед ответом:
- Сопоставил ли я ошибку с конкретным шагом потока?
- Выявил ли я проблему времени выполнения, если она есть?
- Минимально ли исправление и ограничено ли нужной областью?
- Избежал ли я излишнего усложнения?Текст доступен бесплатно по CC0 1.0. Источники и лицензии.
Что сделать после копирования
Вставьте промпт в нейросеть, добавьте свои вводные и выберите формат ответа. Для фото или видео понадобится модель с поддержкой этой задачи. Проверьте результат и уточните запрос при необходимости.