Как ChatGPT может переписать и улучшить ваш существующий код

  • Jul 19, 2023

Мы знали, что этот генеративный инструмент ИИ может создавать код, но знаете ли вы, что ChatGPT также может объяснить и переписать ваш код? Может быть, нам следует назвать его «Кодекс Шепчущий».

плавающий код
Дэвид Гевирц/ZDNET

В течение последних нескольких месяцев мы изучали способность ChatGPT создавать код. ЧатGPT считается "генеративный ИИ," и создание кода из подсказки, безусловно, соответствует генеративному термину. Мы показали, как можно создать полный работающий плагин WordPress а также писать код на десятках языков, как Основной поток и затемнять.

Также: Как использовать ChatGPT для написания кода

Но в некоторых недавних экспериментах я обнаружил еще одну возможность: ChatGPT может читать и деконструировать код. Мы получили намек на эту возможность, когда я изучал использование ChatGPT в качестве инструмента для помощи в отладке. Я скормил ему небольшой блок кода и сообщение об ошибке, и он смог показать мне, где я ошибся.

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

Объяснение JavaScript

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

Скриншот Дэвида Гевирца/ZDNET

Давайте начнем с того, что ChatGPT объяснит, что делает код. Это очень мощная возможность, особенно если вы наследуете код от другого программиста. Хотя нет никакой гарантии, что ChatGPT будет правильным, это может сэкономить вам часы, позволяя понять, как работает код. Я использовал подсказку:

Объясните следующий код

и я вставил в блок кода. Вот что сказал ChatGPT:

Скриншот Дэвида Гевирца/ZDNET

Мы можем делать некоторые интересные вещи с этой возможностью. Например, мы можем переписать код ChatGPT. В качестве примера я спросил ChatGPT:

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

return !isNaN(n) && n >= 0 && /^\d+(\.\d{1,2})?$/.test (str);

Также: Как использовать ChatGPT для создания приложения

Следующий ответ показывает как мощь регулярных выражений в сохранении краткости кода, так и способность ChatGPT брать существующий код и переписывать его:

Скриншот Дэвида Гевирца/ZDNET

Объяснение кода C с открытым исходным кодом из репозитория GitHub

Во втором примере я работаю с Gimp, графическим редактором с открытым исходным кодом. Мы рассмотрим блок кода, начинающийся со строки 438, который выполняется в раздел импорта .PSD приложения с открытым исходным кодом. Вот этот код:

Скриншот Дэвида Гевирца/ZDNET

Я снова попросил ChatGPT объяснить код, и вот его ответ:

Скриншот Дэвида Гевирца/ZDNET

Это становится еще более мощным, так как вы можете использовать ChatGPT для выполнения языковых преобразований. Я попросил ChatGPT переписать его с оригинального C на Python:

Перепишите этот код на Python и сделайте его максимально кратким.

Скриншот Дэвида Гевирца/ZDNET

ChatGPT даже отметил следующее после кода: Функция g_free из исходного кода не включена в версию Python, поскольку управление памятью автоматически обрабатывается сборщиком мусора Python.

Улучшение существующего кода

В этом примере я скормил ChatGPT часть своего кода, которой я не очень доволен. Мой код выполняет поиск в базе данных WordPress и обновляет определенные элементы. Вот исходный код:

Скриншот Дэвида Гевирца/ZDNET

Я спросил:

Можете ли вы улучшить следующий код

Это дало мне новый блок кода:

Скриншот Дэвида Гевирца/ZDNET

Он также дал мне объяснение того, что он сделал:

Скриншот Дэвида Гевирца/ZDNET

Здесь есть одна странность. Я дважды запускал один и тот же код через один и тот же запрос. Во второй раз было сделано еще одно улучшение: Запрос SQL был изменен, чтобы выбирать только необходимые столбцы (option_id, option_name и option_value) вместо использования SELECT. Это может повысить производительность за счет сокращения ненужного поиска данных.

Вот этот блок кода:

Скриншот Дэвида Гевирца/ZDNET

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

Также: Как использовать Bing Chat (и чем он отличается от ChatGPT)

Я попробовал это в третий раз, и ChatGPT дал мне код, который добавил закомментированную строку: Запрос SQL был изменен, чтобы включить дополнительное условие option_value LIKE '%[email protected]%', закомментированное в исходном коде.

Вот этот код:

Скриншот Дэвида Гевирца/ZDNET

Это определенно нет-нет. Вы никогда не должны переписывать код и включать его обратно в закомментированную строку кода. Этот код был закомментирован по какой-то причине.

Пища для размышлений

Как и во многих других наших исследованиях возможностей ИИ, я обнаружил, что это одновременно чрезвычайно полезно и немного нелепо.

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

Также: ChatGPT: Кто использует инструмент ИИ и почему?

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

Вы использовали ChatGPT для объяснения или переписывания кода? Поделитесь с нами в комментариях ниже.


Вы можете следить за ежедневными обновлениями моего проекта в социальных сетях. Не забудьте подписаться на меня в Твиттере по адресу @DavidGewirtz, на Фейсбуке по адресу Facebook.com/DavidGewirtz, в инстаграме по адресу Instagram.com/DavidGewirtzи на YouTube по адресу YouTube.com/DavidGewirtzTV.

Смотрите также

Как использовать ChatGPT для написания формул Excel
Как использовать ChatGPT для написания кода
ChatGPT против. Bing Chat: какого чат-бота с искусственным интеллектом следует использовать?
Как использовать ChatGPT для создания резюме
Как работает ChatGPT?
Как начать использовать ChatGPT
  • Как использовать ChatGPT для написания формул Excel
  • Как использовать ChatGPT для написания кода
  • ChatGPT против. Bing Chat: какого чат-бота с искусственным интеллектом следует использовать?
  • Как использовать ChatGPT для создания резюме
  • Как работает ChatGPT?
  • Как начать использовать ChatGPT