Промпты для программирования
Промпты для повседневных задач разработчика: объяснение, отладка, тестирование, рефакторинг, ревью и документация на любом языке.
Эти промпты для программирования созданы для реальных задач, а не учебных примеров. Они помогут разобраться в чужом коде, найти ошибки с оценкой вероятных причин, написать модульные тесты, провести рефакторинг, проверить diff, составить SQL-запросы и регулярные выражения, исправить ошибки в Git, проверить безопасность, оформить документацию и написать небольшие скрипты. Большинство промптов универсальны: укажите язык, фреймворк или инструмент в [квадратных скобках] и вставьте нужный фрагмент кода. Небольшие, четко очерченные примеры дают лучший результат, чем файлы целиком.
Каждый промпт ориентирован на проверяемый результат: тесты можно запустить, пояснения — сопоставить с кодом, а исправления всегда содержат обоснование. Так проще заметить ошибки, ведь нейросеть может выдать код, который выглядит рабочим, но ломается на граничных случаях или использует несуществующие функции. Нажмите «Копировать», чтобы перенести промпт в редактор или заметки, либо «Использовать в чате», чтобы открыть его в ChatG, где код форматируется с подсветкой синтаксиса и кнопкой копирования.
Перед отправкой кода убедитесь, что удалили API-ключи, пароли, токены и персональные данные клиентов, а правила вашей компании разрешают использовать внешние ИИ-сервисы. Для быстрых разовых задач подойдет Помощник по коду. Подробнее о рабочих процессах и ограничениях читайте в материалах ИИ для программирования и ChatG для разработчиков.
Как адаптировать эти промпты
- Указывайте версии и ограничения: версию языка, фреймворк, среду выполнения и условие «без новых зависимостей».
- Сокращайте контекст до минимального примера, на котором воспроизводится проблема.
- Отправляйте результат обратно: если решение не помогло или появилась новая ошибка, вставьте ее в чат и спросите, что попробовать дальше.
- Задавайте формат ответа: например, diff, отдельная функция или таблица с вариантами.
Всегда проверяйте сгенерированный код перед запуском и сначала тестируйте его в безопасной среде.
-
01
Разбор кода от ведущего инженера
Вы ведущий разработчик на [язык], обучающий джуниора. Пошагово объясните, что делает код ниже, а затем укажите на все необычные моменты, риски или места, требующие рефакторинга. Код: [вставьте код]
-
02
Поиск причин ошибки
Мой код на [язык или фреймворк] выдает ошибку: [вставьте ошибку и стек вызовов]. Вот сам код: [вставьте код]. Назовите три наиболее вероятные причины по порядку, объясните, как проверить каждую из них, и предложите решение для самой вероятной.
-
03
Юнит-тесты с граничными случаями
Напишите юнит-тесты на [фреймворк для тестирования] для функции ниже. Покройте обычные входные данные, граничные значения, пустые значения (null/empty) и неверные типы. Назовите каждый тест в соответствии с проверяемым поведением. Функция: [вставьте функцию]
-
04
Рефакторинг без смены логики
Проведите рефакторинг этого кода на [язык], чтобы сделать его более читаемым и поддерживаемым, не меняя логику работы. Используйте понятные имена, небольшие функции и избавьтесь от дублирования. Публичный интерфейс должен остаться прежним. Кратко объясните каждое изменение. Код: [вставьте код]
-
05
Ревью пулреквеста по важности
Проведите ревью диффа этого пулреквеста как строгий, но доброжелательный ревьюер. Разделите замечания на баги, безопасность, производительность и стиль. Пометьте каждое как критичное (блокирующее) или рекомендательное и предложите конкретные исправления в коде. Дифф: [вставьте diff]
-
06
SQL-запрос по структуре таблиц
Напишите запрос для [PostgreSQL, MySQL или SQLite], который [опишите задачу], используя следующие таблицы: [вставьте схемы таблиц]. Объясните работу запроса простыми словами и предложите индекс на случай больших объемов данных.
-
07
Регулярное выражение с примерами
Напишите регулярное выражение для [язык или инструмент], которое находит [опишите шаблон], но исключает [опишите исключения]. Объясните каждую часть шаблона и приведите пять строк, которые должны подходить, и пять, которые подходить не должны.
-
08
Перевод кода на другой язык
Перепишите этот код с [исходный язык] на идиоматичный [целевой язык]. Не переводите построчно: используйте привычные библиотеки и паттерны целевого языка и укажите на различия в поведении (например, целочисленное деление или обработка ошибок). Код: [вставьте код]
-
09
Эндпоинт API с валидацией
Напишите эндпоинт на [фреймворк] для [HTTP-метод] [маршрут], который [что должен делать]. Добавьте валидацию полей: [поля и правила], возвращайте понятные ошибки с правильными статус-кодами и приложите пример запроса и ответа.
-
10
Безопасный шелл-скрипт с dry-run
Напишите скрипт на [bash или PowerShell], который [задача, например: переименовывает все фото в папке по дате съемки]. Сделайте его безопасным: добавьте режим тестового запуска (dry-run), остановку при ошибках и вывод текущих действий. Добавьте комментарии к каждому блоку.
-
11
Оптимизация узких мест кода
Эта функция на [язык] медленно работает на больших объемах данных (около [размер входных данных]): [вставьте код]. Объясните ее сложность по времени и памяти, найдите узкое место и предложите более быстрый вариант с указанием новой сложности. Результат работы должен остаться прежним.
-
12
Проектирование схемы базы данных
Спроектируйте схему базы данных для [опишите приложение, например: сервис бронирования] со следующими требованиями: [требования]. Опишите таблицы, поля с типами, ключи и связи, а также укажите одно архитектурное решение, которое стоит пересмотреть при росте проекта.
-
13
Докстринги и комментарии к коду
Добавьте к коду ниже понятные докстринги или комментарии в стандартном стиле [язык]. Опишите назначение каждой функции, ее параметры, возвращаемые значения и возможные ошибки. Сам код не изменяйте. Код: [вставьте код]
-
14
Безопасно распутать проблемы в Git
У меня возникла проблема с Git: [опишите ситуацию, например: закоммитил не в ту ветку и запушил]. Объясни, что произошло, напиши точные команды, чтобы всё безопасно исправить, и предупреди, если какая-то команда переписывает общую историю.
-
15
Изучение концепции с упражнениями
Объясни мне тему «[концепция программирования, например: рекурсия или замыкания]» на [язык]. Начни с краткого объяснения и простого примера, а затем дай три упражнения по нарастающей сложности. Дождись моего ответа, прежде чем показывать решение для каждого из них.
-
16
Проверка безопасности фрагмента кода
Проверь этот код на [язык] на уязвимости (инъекции, небезопасная десериализация, отсутствие валидации ввода, захардкоженные секреты, слабая аутентификация). Для каждой проблемы объясни риски и покажи исправленный код. Код: [вставьте код]
-
17
Понятное сообщение коммита по diff
Напиши сообщение коммита для этих изменений: короткая первая строка в повелительном наклонении до 72 символов, а затем тело коммита с пояснением, что именно изменилось и зачем: [опишите или вставьте diff]
-
18
Сравнение библиотек или подходов
Мне нужно решить задачу: [задача] в проекте на [язык или фреймворк] с такими ограничениями: [ограничения, например: минимальный размер сборки, без нативных зависимостей]. Сравни 2–3 популярных подхода или библиотеки в таблице (плюсы, минусы, когда что использовать) и подскажи, на какие детали обратить внимание в документации.
-
19
Доступный UI-компонент
Создай доступный компонент для [фреймворк или чистые HTML, CSS и JavaScript]: [компонент, например: вкладки]. Требования: [требования]. Добавь поддержку клавиатуры, необходимые атрибуты ARIA и короткий пример использования.
-
20
Скрипт очистки и обработки данных
Напиши скрипт на [язык], который читает [тип файла, например: CSV-файл] со следующими колонками: [колонки], выполняет [что вычислить или преобразовать] и сохраняет результат в [куда вывести]. Предусмотри обработку пропущенных значений и поврежденных строк, а в конце выведи краткую сводку.
Все готово к работе
Откройте чат и задайте свой первый вопрос. Это бесплатно и не требует установки.
Начать общение