> ## Documentation Index
> Fetch the complete documentation index at: https://poehali.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Рефакторинг

> Как улучшать код, сохраняя его функциональность

## Что такое рефакторинг

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

<Note>
  Когда файл превышает 200 строк, появляется кнопка рефакторинга. Она поможет сделать код лучше.

  <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-4.png" alt="Кнопка рефактора в светлой теме" />

  <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-4.png" alt="Кнопка рефактора в темной теме" />
</Note>

<AccordionGroup>
  <Accordion title="Для чего нужен рефакторинг">
    * **Позволяет разрабатывать большие проекты**

      Когда проект растет, код становится сложным. Рефакторинг делает его понятнее и проще в управлении.

    * **Разбивает большие файлы на маленькие**

      Вместо одного огромного файла получаются небольшие модули с чёткими задачами.

    * **Помогает ассистенту Юре**

      Юра лучше понимает чистый код и делает меньше ошибок при работе с ним.

    * **Ускоряет работу**

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

    * **Упрощает доработку**

      Добавлять новые функции в чистый код проще и безопаснее.
  </Accordion>

  <Accordion title="Как использовать рефакторинг">
    <Steps>
      <Step title="Заметить кнопку рефакторинга">
        <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-1.png" alt="Кнопка рефактора в светлой теме" />

        <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-1.png" alt="Кнопка рефактора в темной теме" />
      </Step>

      <Step title="Нажать на кнопку">
        <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-2.png" alt="Кнопка рефактора в светлой теме" />

        <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-2.png" alt="Кнопка рефактора в темной теме" />
      </Step>

      <Step title="Получить улучшенный код!">
        <img className="block dark:hidden" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-3.png" alt="Кнопка рефактора в светлой теме" />

        <img className="hidden dark:block" src="https://storage.yandexcloud.net/poehali-cdn/intertnal/docs/doc.pictures/refactor-3.png" alt="Кнопка рефактора в темной теме" />
      </Step>
    </Steps>
  </Accordion>
</AccordionGroup>

## Плюсы автоматического рефакторинга

* **Экономит время** — не нужно вручную переделывать код
* **Код остается чистым** — не накапливаются проблемы
* **Легче расширять проект** — хороший код проще дополнять
* **Удобно работать в команде** — всем понятно, как устроен код

## Самостоятельное улучшение кода

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

<Note>
  Подробнее о том, как составлять запросы для улучшения кода, читайте в разделе [Инженерия запросов: Оптимизация](/getting-started/prompting#optimizatsiya-i-uluchshenie).
</Note>
