Продукты искусственного интеллекта произвели революцию в разработке программного обеспечения или кодировании в наше время. Используя ИИ, мы можем автоматически генерировать программные коды, исправлять и оптимизировать их посредством Рефакторинг кода . В этой статье мы рассмотрим процесс рефакторинга и посмотрим, как вы можете используйте Copilot для кода Refractor .
Что такое рефакторинг кода?
В разработке программного обеспечения или приложений рефакторинг кода означает реконструкцию или изменение исходного кода программы с сохранением его исходной функциональности. Этот процесс направлен на улучшение структуры и дизайна программного обеспечения и снижение сложности. Интеграция ИИ в рефакторинг кода помогла нам быстро выявить проблемы с производительностью программного обеспечения и упростить сложные алгоритмы для повышения общей эффективности.
Как Copilot может помочь в рефакторинге кода?
Он может анализировать определенный раздел кода и предлагать предложения по улучшению его структуры до более чистого и удобного для пользователя формата, чтобы уменьшить сложность. Представленные рекомендации основаны на следующем:
- Выявите проблемы с существующим кодом: Copilot сканирует весь файл кода, чтобы выделить разделы или области, подлежащие рефакторингу, указывая на повторяющиеся коды, неиспользуемые или неясные переменные и т. д.
- Предложите эффективные варианты: При рефакторинге кода Copilot анализирует существующий код и предлагает эффективные альтернативы, которые могут дать те же результаты, но сделают код более чистым. Эти рекомендации включают эффективное использование языка для именования переменных, методов и структур данных.
- Обеспечьте поддерживаемый код: Обратная связь в режиме реального времени помогает нам избежать ошибок. Предложения, как правило, основаны на лучших практиках принципов программирования, которые могут помочь поддерживать правильную структуру кода, облегчая другим понимание и изменение его при необходимости.
Как использовать Copilot для кода Refractor
Чтобы использовать Copilot для рефакторинга, мы можем начать с установка GitHub Copilot расширение для соответствующего языка (VS Code, Python и т. д.). Например, если мы хотим восстановить исходный код, написанный на Python, мы можем установить плагин Copilot следующим образом:
журнал netlogon
- Нажмите, чтобы открыть параметр «Настройки» в интегрированной среде разработки или IDE (JavaScript или Python).
- Нажмите на опцию плагина слева.
- Нажать на Торговая площадка вариант и найдите GitHub второй пилот плагин.
- Найдя, нажмите на Установить чтобы установить плагин.
- После завершения установки IDE предложит перезагрузку. После перезапуска откройте IDE и нажмите Инструменты -> GitHub Copilot -> Войти в GitHub.
- После успешного входа в систему Copilot будет готов к использованию.
- Чтобы использовать Copilot, при написании кода можно использовать приведенные ниже сочетания клавиш.
Действие | Windows/Линукс | MacOS |
Запускайте встроенные предложения | Альт+\ | Вариант+\ |
Смотрите следующее предложение | Alt+] | Вариант+] |
См. предыдущее предложение | Альт+[ | Вариант+[ |
Принять предложение | Вкладка | Вкладка |
Отклонить встроенное предложение | Esc | Esc |
Показать все предложения в новой вкладке | Альт+Ввод | Альт+Ввод |
Связанный: Как просмотреть код, загруженный с GitHub
Пример 1. Чтобы упростить сложный код
Давайте рассмотрим приведенный ниже фрагмент кода, чтобы продемонстрировать, как можно упростить сложный код с помощью функции рефакторинга Copilot. Здесь мы рассматриваем только часть более крупной программы для простоты понимания:
Перед рефакторингом
YouTube не загружается на Chrome
public void processOrder(Order order) { // ... further codes if (order.isReadyForProcessing()) { // process the order } //... further codes }
После рефакторинга с Copilot
public void processOrder(Order order) { // ...further codes processReadyOrder(order); // ...further codes }
private void processReadyOrder(Order order) { if (order.isReadyForProcessing()) { // process the order } }
В приведенном выше примере первый набор кодов (до рефакторинга) состоит из функции или метода с именем Процесс заказа, который выполняет действия по обработке конкретного заказа. Перед обработкой заказа условный оператор IF проверяет, готов ли заказ к обработке или нет, используя оператор если (order.isReadyForProcessing()) функция. В этом наборе кодов логика обработки включена в основную функцию, что делает ее менее модульной.
В следующем фрагменте кода мы имеем Процесс заказа Функция обработки заказа. Однако логика проверки готовности заказа к обработке и обработка готового заказа вынесены в отдельную функцию с именем процессReadyOrder. Это помогает изолировать каждый метод, чтобы обеспечить ясность и модульность кода.
Пример 2: переименование переменной
Перед рефакторингом
Размытие панели задач Windows 10
def calculate_area(l, w): return l * w
После рефакторинга с Copilot
def calculate_area(length, width): return length * width
Однако после рефакторинга переменные «l» и «w» были заменены на длину и ширину, что добавило ясности коду за счет переименования переменных как важной особенности рефакторинга.
Несмотря на то, что Copilot может помочь нам восстановить код, у него есть несколько ограничений, таких как неверные предложения, чрезмерная надежность и преломление устаревших кодов. Получив предложения, обязательно выполните все ручные проверки и используйте правильные подсказки.
На каких данных проходил обучение GitHub Copilot?
GitHub Copilot прошел обучение работе с текстом на естественном языке и исходным кодом из общедоступных источников, включая код в общедоступных репозиториях на GitHub. Он основан на генеративных моделях искусственного интеллекта, разработанных GitHub, OpenAI и Microsoft.
Какие языки программирования совместимы с Copilot?
Github Copilot поддерживает различные языки, но особенно хорошо работает с JavaScript, TypeScript, Ruby, Python, Go, C++ и C#.