Программирование и инструменты разработчика

Бесплатный помощник по рефакторингу кода.

Черновик рефакторинга с сохранением предполагаемого поведения.

Планируйте точечный рефакторинг по примерам существующего поведения и изучайте различия до замены исходной реализации.

Нужны расширение Chrome и аккаунт.
25 бесплатных задач автоматизации в месяц суммарно для всех инструментов. Действуют ограничения провайдера в браузере.

ЧТО НУЖНО ПОДГОТОВИТЬ

Код и запрошенное структурное изменение.

ОТПРАВНАЯ ТОЧКА

Задача, которую можно настроить под себя.

Скопируйте здесь. Вставьте в WebAct, когда будете готовы.

Эта страница подготавливает промпт. Задача выполняется в WebAct.

01

Настройте задачу под себя.

Проверьте промпт выше. Добавьте свою цель и важные требования.

02

Перенесите задачу в WebAct.

Откройте WebAct, вставьте задачу и предоставьте исходные материалы. Начните с Chat для черновика или пояснения; используйте Task для одобренного действия в браузере или файла.

03

Проверьте полезную часть.

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

ПРАКТИЧЕСКОЕ РУКОВОДСТВО

Как рефакторить код с сохранением поведения.

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

Адаптируйте процесс под свою задачу.

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

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

Посмотрите входные данные и результат.

Иллюстративные входные и выходные данные · учебный пример, а не реальный запуск WebAct

Полей ввода: Пример

Refactor this Python function without changing its result or empty-name error:
def label(name, loud):
    if loud:
        if not name:
            raise ValueError("name required")
        return name.upper()
    if not name:
        raise ValueError("name required")
    return name.lower()

Готовый пример

def label(name, loud):
    if not name:
        raise ValueError("name required")
    return name.upper() if loud else name.lower()

Checks: label("Ada", True) → "ADA"; label("Ada", False) → "ada". An empty string raises ValueError("name required") in both modes.
Скачать этот пример

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

Решения и устранение проблем.

Может ли рефакторинг намеренно менять поведение ошибок?

Только если такое изменение входит в запрос. Иначе сохраните его или выделите в отдельное явное последующее решение.

Почему выделение общего кода меняет результат одной ветви?

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

Попробуйте на собственном источнике.

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

Настроить и скопировать задачу ↑
ПЕРЕД НАЧАЛОМ

Использование WebAct.

Промпт и пример доступны здесь. Выполните задачу в расширении WebAct для Chrome.

Этот инструмент бесплатный?

Здесь можно бесплатно копировать и редактировать промпт. Для использования с WebAct установите расширение Chrome, создайте и подтвердите аккаунт и подключите доступную сессию ChatGPT в браузере. План Free включает 25 задач автоматизации, запускаемых пользователем, за календарный месяц суммарно для всех инструментов. Обычный браузерный Chat учитывается отдельно; действуют ограничения провайдера.

Узнайте об общем контексте в нашем политике конфиденциальности и о выборе между Chat и Task.

ОТ ПРОМПТА К ВАШЕЙ РАБОТЕ

Перенесите задачу на свою страницу.

Установите WebAct, добавьте исходные материалы и адаптируйте результат.

Установить WebAct