Промпт для рефакторинга кода
Промпт упрощает код без изменения поведения. Он выявляет дублирование и просит сравнить старую и новую реализацию на одних входах.
Обновлено: 2026-10-09
Промпт
Отрефактори переданный код, сохрани контракт.
Код и среда: [данные]. Поведение: [контракт].
Что упростить: [дублирование или сложность]. Запрещённые изменения: [список].
Сначала назови дублирование, затем дай небольшую правку. Не меняй публичные имена и исключения без просьбы. Дай проверки эквивалентности.
Соберите свой промпт
Ответьте на вопросы. Промпт собирается бесплатно прямо здесь. Незаполненные места можно дополнить позже.
Открыть в конструкторе →Можно пропустить: в промпте останется место для ваших данных.
Можно пропустить: в промпте останется место для ваших данных.
Можно пропустить: в промпте останется место для ваших данных.
Можно пропустить: в промпте останется место для ваших данных.
Необязательное уточнение к исходному промпту.
Необязательное уточнение к исходному промпту.
Необязательное уточнение к исходному промпту.
Живой предпросмотр
Подставленное выделено зелёным, незаполненное — пунктиром.
Отрефактори переданный код, сохрани контракт. Код и среда: [данные]. Поведение: [контракт]. Что упростить: [дублирование или сложность]. Запрещённые изменения: [список]. Сначала назови дублирование, затем дай небольшую правку. Не меняй публичные имена и исключения без просьбы. Дай проверки эквивалентности.
Нужно 100 таких промптов под разные данные? Загрузите таблицу в Promptada.
Создать аккаунт Для пакетной работы с текстами.Ответы остаются на этой странице и исчезают при перезагрузке. В ссылке — только выбранная задача.
Нужно много вариантов этого промпта?
Подготовьте таблицу компонентов, требований и окружений. Promptada соберёт текстовые задания по одному шаблону и передаст пакет выбранной модели.
Создать аккаунтКак пользоваться
- Подготовьте код и среда, поведение, что упростить, запрещённые изменения.
- Зафиксируйте контракт старой функции до упрощения.
- Сравните is_admin до и после рефакторинга на пробелах, регистре и обычном имени.
- В is_admin выдели нормализацию один раз; сохранить два разрешённых имени и строковый контракт без новых классов.
Для каких нейросетей
| Нейросеть | Версия | Насколько подходит | Примечание |
|---|---|---|---|
| GPT | 6 Astra | Подходит | Сложные условия |
| GPT | 6.1 Sol | Подходит | Основной текстовый вариант |
| GPT | 6 Luna | Подходит | Короткая выдача |
| Claude | Fable 5.1 | Подходит | Много ограничений |
| Claude | Opus 5.5 | Подходит | Развёрнутый разбор |
| Claude | Sonnet 5.5 | Подходит | Редактура и сравнение |
| Claude | Haiku 5.5 | Подходит | Компактный формат |
| Gemini | 3.8 Flash | Подходит | Текст и вложения |
| Gemini | 3.1 Pro Preview | Подходит | Preview; подробный анализ |
| DeepSeek | V4.1-Flash | Подходит | Текст; изображения |
| DeepSeek | V4-Pro-0813 | Подходит | Только текст |
Справочные данные для рефакторинга кода: GPT, Claude, Gemini, Gemini, DeepSeek.
Пример результата
До: имя приводится к нижнему регистру в каждом сравнении. После:
def is_admin(name):
normalized = name.strip().lower()
return normalized == "admin" or normalized == "administrator"
assert is_admin(" ADMIN ") is True
assert is_admin("user") is False
Нормализация вычисляется один раз. Проверки должны подтвердить тот же результат для пробелов, регистра и обычного пользователя; тип входа остаётся строковым.
Как улучшить результат
- Зафиксируйте контракт старой функции до упрощения.
- Попросите найти конкретное повторное вычисление.
- Отделите рефакторинг от желаемого исправления багов.
- Сравните старую и новую версии на одних тестовых данных.
Варианты промпта
Узкая задача
Убери только повторную нормализацию строки в функции. Сохрани имена, типы и результаты, без новых классов.
Корректировка: рефакторинга кода
В is_admin выдели нормализацию один раз; сохранить два разрешённых имени и строковый контракт без новых классов.
Частые ошибки
- Под видом упрощения меняют публичные имена и ошибки.
- Добавляют новую архитектуру ради одного повторного выражения.
- Проверяют только успешный вход, забывая прежние краевые результаты.
Вопросы и ответы
Как упростить код без изменения поведения?
Передайте контракт и перечислите поведение, которое нельзя менять. Укажите также запрет менять побочные эффекты, если они входят в существующее поведение.
Как найти дублирование?
Назовите повторяемое действие и попросите выделить его без новой архитектуры. Дублирование полезно убрать, когда повтор действительно выражает одну операцию, а не похожие разные правила.
Как проверить результат рефакторинга?
Сравните обе версии на одинаковых обычных и краевых входах, включая ошибки. Эквивалентность проверяется на старых ожиданиях; менять их вместе с кодом нельзя без отдельного решения.