Программирование

Проведи рефакторинг без изменения поведения

Помогает улучшить структуру существующего кода с минимальными изменениями: сначала фиксирует текущее поведение, затем предлагает рефакторинг и объясняет, что нужно проверить после него.

Автор: PromptingGo Средний Язык: ru Просмотры: 1 Копирования: 1 Есть настройка
Средняя оценка
/ 5
Голосов: 0
Войти, чтобы оценить

1 Готовый промпт

Выступи в роли опытного разработчика и проведи рефакторинг кода без изменения его внешнего поведения.

Язык и технология: C# / ASP.NET Core.
Цель рефакторинга: Уменьшить дублирование.

Код:
```
if (order.Status == Status.Paid) { logger.LogInformation("Order ready"); return true; } if (order.Status == Status.Confirmed) { logger.LogInformation("Order ready"); return true; } return false;
```

Работай последовательно:

1. Кратко опиши, что код делает сейчас.
2. Выдели конкретные проблемы структуры, читаемости или дублирования, относящиеся к выбранной цели.
3. Перед изменениями перечисли важные элементы поведения, которые должны сохраниться.
4. Покажи отрефакторенную версию кода целиком.
5. После кода объясни каждое существенное изменение и зачем оно сделано.
6. Не меняй публичный контракт, формат результата, обработку ошибок или бизнес-логику без необходимости.
7. Не добавляй новые архитектурные слои только ради «чистоты».
8. Если безопасный рефакторинг невозможен без дополнительного контекста, укажи, чего именно не хватает.

В конце перечисли минимальный набор проверок или тестов, которые стоит выполнить, чтобы убедиться, что поведение осталось прежним.
Как использовать
Вставьте код, укажите технологию и цель. Нейросеть предложит ограниченный рефакторинг и отдельно покажет, какое поведение необходимо перепроверить.

2 Настроить под себя

Заполните понятные поля ниже. Сервис автоматически соберёт новую версию промпта под вашу задачу.

Укажите язык, фреймворк или важный контекст.
Выберите основной приоритет изменений.
Лучше прислать минимальный, но самодостаточный фрагмент.

Поля со звёздочкой обязательны. Необязательные части исчезнут из результата, если оставить их пустыми.

3 Результат настройки

Заполните конструктор выше, и здесь появится готовый промпт.

4 Примеры результата

Текстовый пример

Текущее поведение:
Метод проверяет статус заказа и дважды повторяет одинаковое логирование.

Проблема:
Дублируется один и тот же блок для двух успешных статусов.

Рефакторинг:
объединить условия в одну ветку, не меняя возвращаемое значение и формат лога.

Проверить после изменения:
— оба успешных статуса дают прежний результат;
— неуспешный статус обрабатывается как раньше;
— текст логирования не изменился.

5 Комментарии

0
Комментариев пока нет. Будьте первым, кто обсудит этот промпт.