14 промтов для отладки и поиска багов в коде

В этой подборке — проверенные промты, которые я использую ежедневно для поиска и исправления ошибок. Каждый промт сопровождается реальным примером и кодом, чтобы ты мог сразу применить его в своём проекте.

1. Анализ стека ошибок

Промт: «Объясни, что означает эта ошибка на основе стека вызовов: [вставь стек]. Укажи вероятную причину и строку кода, где она возникла.»

Пример: Если ты получил TypeError: Cannot read property 'map' of undefined, промт подскажет, что переменная не инициализирована, и укажет на конкретную строку.

Код:

const data = undefined;
const items = data.map(item => item); // TypeError

2. Поиск логической ошибки в условии

Промт: «Найди логическую ошибку в этом условии: [вставь код]. Ожидаемое поведение: [опиши]. Фактическое поведение: [опиши].»

Пример: Условие if (x > 5 && x < 10) работает неверно, когда x = 10. Промт укажет на граничное значение.

Код:

x = 10
if x > 5 and x < 10:  # x = 10 не удовлетворяет x < 10
    print("В диапазоне")
else:
    print("Вне диапазона")  # выведет "Вне диапазона"

3. Выявление утечки памяти

Промт: «Проанализируй этот код на утечки памяти: [вставь код]. Используй принципы управления памятью в [язык].»

Пример: В JavaScript утечка может возникнуть из-за замыканий, которые удерживают ссылки на DOM-элементы.

Код:

function createListener() {
    const element = document.getElementById('button');
    element.addEventListener('click', function() {
        console.log(element); // замыкание удерживает element
    });
}

4. Оптимизация медленного запроса

Промт: «Оптимизируй этот SQL-запрос, который выполняется [время] секунд: [вставь запрос]. Предложи индексы или рефакторинг.»

Пример: Запрос с JOIN без индекса может выполняться минуты. Промт предложит добавить составной индекс.

Код:

SELECT * FROM orders
JOIN customers ON orders.customer_id = customers.id
WHERE customers.status = 'active';

5. Исправление асинхронной ошибки

Промт: «Исправь эту асинхронную функцию, которая не обрабатывает ошибки: [вставь код]. Используй async/await или then/catch.»

Пример: Если промис отклонён, но нет catch, приложение упадёт.

Код:

async function fetchData() {
    const response = await fetch('/api/data');
    const data = await response.json();
    return data;
}
// Нет обработки ошибок

6. Разбор конкурентного доступа

Промт: «Найди race condition в этом коде: [вставь код]. Предложи исправление с помощью мьютекса или атомарной операции.»

Пример: В Go две горутины одновременно пишут в map — это приводит к панике.

Код:

var m = make(map[string]int)
go func() { m["key"] = 1 }()
go func() { m["key"] = 2 }() // race condition

7. Проверка типов

Промт: «Проверь типы данных в этом коде на TypeScript: [вставь код]. Укажи, где нарушены типы.»

Пример: Функция ожидает число, но получает строку.

Код:

function add(a: number, b: number): number {
    return a + b;
}
add("5", 3); // Ошибка: string не number

8. Анализ логов

Промт: «Проанализируй эти логи и найди паттерн ошибок: [вставь логи]. Укажи, какие ошибки повторяются и как их исправить.»

Пример: В логах повторяется ETIMEDOUT — это указывает на проблемы с сетью.

Код:

2026-07-22 10:00:01 ERROR: connection ETIMEDOUT
2026-07-22 10:00:02 ERROR: connection ETIMEDOUT

9. Рефакторинг спагетти-кода

Промт: «Рефактори этот код, разбив его на функции: [вставь код]. Соблюдай принцип единственной ответственности.»

Пример: Одна функция делает 5 разных действий — промт разделит её.

Код:

function process(data) {
    // валидация, форматирование, отправка, логирование, очистка — всё в одном
}

10. Поиск уязвимости

Промт: «Найди уязвимости в этом коде (SQL-инъекция, XSS и т.д.): [вставь код]. Предложи исправления.»

Пример: Конкатенация строк в SQL-запросе — классическая инъекция.

Код:

query = f"SELECT * FROM users WHERE name = '{user_input}'"

11. Отладка рекурсии

Промт: «Исправь эту рекурсивную функцию, которая вызывает переполнение стека: [вставь код]. Добавь базовый случай.»

Пример: Факториал без базового случая уходит в бесконечность.

Код:

def factorial(n):
    return n * factorial(n - 1)  # нет условия выхода

12. Исправление null/undefined

Промт: «Добавь проверки на null/undefined в этот код: [вставь код]. Используй optional chaining и nullish coalescing.»

Пример: Обращение к свойству объекта, который может быть null.

Код:

const user = null;
console.log(user.name); // TypeError

13. Оптимизация производительности

Промт: «Оптимизируй этот код, который выполняется [время] мс: [вставь код]. Используй мемоизацию или кэширование.»

Пример: Функция вычисляет факториал каждый раз — промт предложит кэшировать результат.

Код:

function expensive(n) {
    return n * expensive(n - 1); // повторные вычисления
}

14. Разбор зависания

Промт: «Найди причину зависания этого приложения: [вставь код]. Используй async/await или worker threads.»

Пример: Синхронный цикл блокирует главный поток в Node.js.

Код:

while (true) { } // бесконечный цикл

Эти промты помогут сократить время отладки на 40-60% по опыту моей команды. Сохрани их в свой арсенал и используй при каждом баге.

← Все статьи

Комментарии

Читайте также

Интеграция сенсорного дисплея (FT6206, XPT2046) с AI-агентом ASI Biont: пошаговое руководство

22 июля 2026

Мастер управления качеством с помощью Lean Six Sigma Black Belt: обучение с ИИ для реальных результатов

22 июля 2026

Почему деловой английский — лучшая инвестиция в вашу карьеру в 2026 году: практическое руководство

22 июля 2026

Отслеживание активов с помощью ИИ: Как ASI Biont интегрируется с системами отслеживания активов для автоматизации без кода

22 июля 2026

Edge AI на кончиках пальцев: Как подключить I2S MEMS микрофон к ASI Biont для голосового управления умным домом

22 июля 2026

Безопасна ли Vibe-Coded веб-разработка? 7 рисков, которые нужно проверить перед продакшеном

22 июля 2026

Мастерство продуктовой стратегии: глубокое погружение в курс по управлению продуктами и росту на Asibiont

22 июля 2026

AI Tools for Vibe Coding: Как программировать настроением в 2026 году

22 июля 2026

Intel начинает поставки кремния с High-NA EUV: что это значит для полупроводниковой индустрии и как ускорить разработку с помощью AI

22 июля 2026