Архив рубрики ~Обо всем~

Как рефакторить код с помощью Claude Code

Как рефакторить код с помощью Claude Code

Повысьте производительность агента по программированию с помощью рефакторинга кода.

Делиться

c73c0f6939bb3ff1e56afaeddb73a8b7
В этой статье я расскажу, как читать код с помощью Claude Code. Изображение предоставлено ChatGPT.

Клод Код и другие агенты-программисты отлично справляются с быстрой реализацией большого объема кода. Однако, если вы когда-либо много работали с агентами-программистами, вы заметите, что через некоторое время они начинают испытывать трудности. Возможно, вы провели несколько дней, написав код с помощью ИИ. Все шло идеально и быстро, а затем вы начинаете замечать, что задачи занимают больше времени, и ИИ совершает все больше и больше ошибок.

Это явный признак того, что вам нужно начать рефакторинг кода. Я считаю, что рефакторинг кодовой базы станет стандартной процедурой после того, как вы реализуете большой объем кода с помощью программистов. Программисты совершают ошибки и не пишут идеальный код. Кроме того, если вы не следуете лучшим практикам в существующем коде, ИИ продолжит не следовать лучшим практикам в новом коде, который он генерирует. Таким образом, вам необходимо постоянно рефакторить свои репозитории.

В этой статье я расскажу, как понять, когда нужно рефакторить код, каковы признаки этого и как эффективно это сделать с помощью Claude Code или других инструментов для работы с кодом.

Рефакторинг кода с помощью агентов программирования.
Эта инфографика освещает основное содержание статьи. Я расскажу о том, как рефакторизовать код с помощью Claude Code или других агентов кодирования. Я проведу вас через этапы, объясняющие, почему следует проводить рефакторинг, как понять, когда его нужно проводить, на какие признаки следует обращать внимание и как эффективно рефакторизовать код. Наконец, я расскажу, почему так важно проводить рефакторинг кода, подчеркнув, что это значительно повысит эффективность работы ваших агентов кодирования при внедрении изменений в ваш репозиторий кода. Изображение предоставлено ChatGPT.

Зачем проводить рефакторинг кода?

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

Обычно это происходит один раз, сразу после множества реализаций в коде, потому что код естественным образом отклоняется от идеального состояния и становится более запутанным просто из-за взаимодействия людей с кодовой базой и работы над ней. Это происходит даже если над кодом работают люди или агенты искусственного интеллекта.

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

Позвольте привести конкретный пример. Допустим, в вашем приложении реализован чат-бот, где пользователи могут писать ИИ-боту и получать ответ. По сути, это просто поле чата, где отображаются ответы ИИ и ответы пользователей. Хорошая кодовая база должна гарантировать наличие единого компонента под названием «чат», и этот компонент должен использоваться во всех местах приложения, где отображается чат. Плохо спроектированная кодовая база будет иметь только одну версию этого чата для каждого места в приложении.

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

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

Когда следует проводить рефакторинг кодовой базы

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

Проще говоря, рефакторинг кода следует начинать, когда агенты-программисты замедляют процесс реализации и когда вы замечаете, что они создают больше ошибок в процессе реализации. Если вы видите проблемы в неожиданных местах или в коде, который вы не трогали, это явный признак того, что вам следует начать рефакторинг.

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

Нет определенного момента, когда возникает необходимость в рефакторинге. Это не обязательно происходит через определенное количество дней или после написания определенного количества строк кода. Это скорее то, что происходит постепенно. Необходимость в рефакторинге возникает просто после того, как в репозитории проделана большая работа.

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

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

Как рефакторить код с помощью Claude Code

Теперь, когда вы знаете, когда следует проводить рефакторинг кода, я начну рассказывать о том, как это сделать с помощью Claude Code или любого другого инструмента для программирования, который вы предпочитаете.

Приступая к рефакторингу, я всегда следую нескольким простым правилам.

  • Используйте самые сложные и требующие больших усилий рассуждения. Рефакторинг — задача, требующая высокого уровня интеллекта, и здесь недопустимы ошибки. Например: воспользуйтесь функцией рабочих процессов от Claude Code или функцией xhigh thinking в GPT-5.5.
  • В репозитории за раз выполняйте только одну операцию рефакторинга. Допускается проведение рефакторинга параллельно с другими задачами, но не следует запускать несколько задач рефакторинга одновременно.
  • Если вы не уверены в оптимальной структуре папок, сравните или предоставьте агенту по кодированию доступ к другому репозиторию кода с подходящей вам структурой и укажите ему имитировать её.
  • Рефакторинг требует времени. Просто сделайте это задачей, которую вы будете запускать в фоновом режиме, пока работаете над другими делами.

Обычно, когда я начинаю рефакторинг кода, я использую следующую схему: я открываю свой код Claude Code в новом дереве задач в репозитории и запускаю его с максимальным уровнем сложности, доступным в Claude Code, а именно Ultracode.

Если я знаю, что нужно переписать, я сообщаю Ultracode и Клоду как можно больше информации о том, что именно нужно переписать и почему. Вы можете подумать, что указывать «почему» не обязательно, и в некоторых случаях это действительно так, но я считаю это очень полезным, потому что тогда ИИ понимает, почему я делаю то, что делаю, что помогает ему согласовать свои действия с тем, что я хочу реализовать.

Затем я даю агенту много времени на то, чтобы он просмотрел весь репозиторий, особенно ту часть, которую я хочу рефакторизовать, и составил подробный план рефакторинга. Я делаю это в режиме планирования в Claude Code.

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

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

Я много занимался рефакторингом с помощью Claude Code, и могу сказать, что он практически идеально подходит для этой работы. При использовании описанной выше конфигурации я очень редко сталкивался с проблемами, и почти всегда наблюдалось значительное улучшение производительности агентов кодирования в моем репозитории.

Проще говоря: рефакторинг кода с помощью Claude Code очень эффективен.

Заключение

В этой статье я рассказал о том, как рефакторизовать код с помощью Claude Code. Я объяснил, почему рефакторинг важен, подчеркнув, как он может значительно повысить эффективность ваших агентов по разработке кода при его внедрении в репозиторий. Затем я рассказал, как понять, когда необходима рефакторизация, и как её проводить — это два наиболее важных момента, которые следует знать при рефакторинге.

Я считаю, что при использовании ИИ и агентов для программирования рефакторинг кода — это то, что следует постоянно проводить в вашем репозитории. Агент должен регулярно проверять ваш код, выявлять проблемы, требующие рефакторинга, и сразу же начинать работу. Обычно агент может сделать это полностью самостоятельно, и вам не потребуется много времени на его дальнейшее сопровождение, но это очень просто. Это необходимо делать постоянно, чтобы агенты для программирования были максимально эффективны в вашем репозитории.

👋 Свяжитесь с нами

👉 Моя бесплатная электронная книга и вебинар:

🚀 Десять раз повысьте свой инженерный уровень с помощью магистратуры (бесплатный 3-дневный курс по электронной почте)

📚 Получите мою бесплатную электронную книгу «Модели визуального языка».

💻 Мой вебинар по языковым моделям зрения

👉 Найдите меня в социальных сетях:

💌 Substack

🔗 LinkedIn

🐦 X / Twitter

Эйвинд Кьосбаккен Посмотреть все Эйвинд Кьосбаккен

Источник: towardsdatascience.com

✅ Найденные теги: Claude, Code, Как, Код, новости, Помощью, Рефакторить
Читайте также
Архив рубрики ~Лента новостей~ Anthropic тихо выкатила workflows в Claude Code — и это может полностью изменить работу с ИИ-агентами Архив рубрики ~Лента новостей~ Как не отдать рецепт крабсбургера ИИ: Guardrails-фильтр против утечек данных Архив рубрики ~Лента новостей~ Редкого попугая с индонезийского острова Буру встретили впервые за 11 лет. Ради этого орнитологам пришлось подняться на высочайшую гору острова Архив рубрики ~Лента новостей~ Paramount обвиняет Netflix в «кампании выжженной земли» против слияния с WBD. Архив рубрики ~Лента новостей~ Pinterest делает ставку на создателей контента, интегрировав Amazon Storefront. Архив рубрики ~Лента новостей~ 1 ноутбук, несколько секунд и 32 ГБ съеденной памяти: найдена уязвимость в протоколе, на котором работает половина интернета Архив рубрики ~Лента новостей~ AMD отказала в гарантийной замене Ryzen 9 7950X3D со вздутым текстолитом Архив рубрики ~Лента новостей~ Переработанная версия «Дирижера»: что они изменили, чтобы сделать ее быстрее. Архив рубрики ~Лента новостей~ Уход Opendoor из Индии подпитывает более широкую дискуссию об искусственном интеллекте и аутсорсинге. Архив рубрики ~Лента новостей~ Промпт-инъекции в реальных данных, широкие права доступа и другие способы сломать ИИ-агента Архив рубрики ~Лента новостей~ Мнение The Guardian о детях и интернете: сдерживание неограниченной власти крупных технологических компаний | Редакционная статья Архив рубрики ~Лента новостей~ Неожиданная победа: GPT-5.5 превзошла Claude Fable 5 в новом, невероятно сложном тесте Agents' Last Exam. Архив рубрики ~Лента новостей~ Без скорлупы и наседок: новая технология может вернуть на Землю дронтов и моа Архив рубрики ~Лента новостей~ Ученые говорят, что они разгадали тайну дюжины странных сигналов из глубокого космоса Архив рубрики ~Лента новостей~ Anthropic тихо выкатила workflows в Claude Code — и это может полностью изменить работу с ИИ-агентами Архив рубрики ~Лента новостей~ Как не отдать рецепт крабсбургера ИИ: Guardrails-фильтр против утечек данных Архив рубрики ~Лента новостей~ Редкого попугая с индонезийского острова Буру встретили впервые за 11 лет. Ради этого орнитологам пришлось подняться на высочайшую гору острова Архив рубрики ~Лента новостей~ Paramount обвиняет Netflix в «кампании выжженной земли» против слияния с WBD. Архив рубрики ~Лента новостей~ Pinterest делает ставку на создателей контента, интегрировав Amazon Storefront. Архив рубрики ~Лента новостей~ 1 ноутбук, несколько секунд и 32 ГБ съеденной памяти: найдена уязвимость в протоколе, на котором работает половина интернета Архив рубрики ~Лента новостей~ AMD отказала в гарантийной замене Ryzen 9 7950X3D со вздутым текстолитом Архив рубрики ~Лента новостей~ Переработанная версия «Дирижера»: что они изменили, чтобы сделать ее быстрее. Архив рубрики ~Лента новостей~ Уход Opendoor из Индии подпитывает более широкую дискуссию об искусственном интеллекте и аутсорсинге. Архив рубрики ~Лента новостей~ Промпт-инъекции в реальных данных, широкие права доступа и другие способы сломать ИИ-агента Архив рубрики ~Лента новостей~ Мнение The Guardian о детях и интернете: сдерживание неограниченной власти крупных технологических компаний | Редакционная статья Архив рубрики ~Лента новостей~ Неожиданная победа: GPT-5.5 превзошла Claude Fable 5 в новом, невероятно сложном тесте Agents' Last Exam. Архив рубрики ~Лента новостей~ Без скорлупы и наседок: новая технология может вернуть на Землю дронтов и моа Архив рубрики ~Лента новостей~ Ученые говорят, что они разгадали тайну дюжины странных сигналов из глубокого космоса

Оставить комментарий

Подписка на рассылку

Получайте свежие новости и идеи на почту. Без спама — только самое интересное.

Нажимая «Подписаться», вы соглашаетесь с политикой конфиденциальности.