Введение в мир AI-инструментов для разработчиков
За последние два года команда Work & Co активно тестировала и интегрировала инструменты AI для программирования, такие как Copilot, Cursor, Claude и ChatGPT. Эти технологии помогают создавать веб-приложения, которые используются миллионами людей. Несмотря на первоначальный скептицизм, AI-инструменты стали неотъемлемой частью нашей работы, и я решил поделиться практическими примерами их использования для так называемого «ответственного разработчика».
Что такое ответственный разработчик?
Ответственный разработчик — это тот, кто обеспечивает качество кода, соответствующее ожиданиям заинтересованных сторон и клиентов. Важно, чтобы наши изменения (например, pull-запросы) не становились бременем для коллег, которые должны проверять и тестировать нашу работу. Кроме того, используемые инструменты должны быть одобрены работодателем, а такие аспекты, как безопасность и конфиденциальность, должны быть должным образом учтены.
Полезные приложения AI-инструментов для программирования
В следующих примерах мы сосредоточимся на работе с веб-приложениями на основе JavaScript, такими как React, Vue, Svelte или Angular.
Понимание незнакомого кода
Работа с устоявшимися кодовыми базами может быть пугающей. Откройте проект и AI-агента (например, Copilot Chat в VSCode) и начните задавать вопросы, как если бы вы общались с коллегой. Например, можно спросить: “Дайте мне обзор архитектуры: точки входа, маршрутизация, аутентификация, слой данных, инструменты сборки. Назовите 5 файлов для чтения в порядке.” Это поможет вам разобраться в незнакомом коде.
Устранение проблем при обновлении зависимостей
Обновление npm-пакетов, особенно с нарушением совместимости, может быть трудоемким процессом. Например, при обновлении библиотеки plotly.js я столкнулся с проблемой, когда метки на графиках перестали отображаться. Я спросил ChatGPT: “Я обновил свой проект Angular и теперь метки на осях отсутствуют. Что произошло?” AI быстро предоставил решение, которое я затем проверил по официальному руководству по миграции.
Безопасное копирование рефакторинга по файлам
В больших кодовых базах часто возникают возможности для консолидации кода. Вместо того чтобы вручную вносить изменения в каждый файл, можно попросить AI-агента сделать это за вас. Например, можно сказать: “Реплицируйте изменения, которые я сделал в файле A, в файл B.”
Реализация функций в незнакомых технологиях
Однажды я использовал AI для создания сложной анимации градиента на GLSL, языке, с которым я не был знаком. Я начал с простого запроса: “Создайте HTML-файл, который отображает анимацию градиента.” AI помог мне шаг за шагом улучшить результат, и в итоге мы смогли порадовать клиентов уникальной функцией.
Написание тестов
Многие разработчики не любят писать тесты, но AI может помочь в этом. Например, можно попросить: “Напишите юнит-тесты для этой функции с использованием Jest.” Это позволит вам сосредоточиться на критически важных частях приложения.
Внутренние инструменты
С помощью Copilot я создал скрипт для анализа дублирования кода и сравнения до и после рефакторинга. Это значительно упростило задачу, позволяя быстро получить результаты в удобном формате.
Обновление старого кода
Когда старый клиент обратился ко мне с проблемами на сайте, построенном почти десять лет назад, я использовал AI для обновления процесса сборки кода. Я спросил: “Можешь обновить процесс сборки JS и SCSS до современного стека?” AI быстро справился с задачей, и я смог сосредоточиться на исправлении ошибок.
Суммирование и составление
AI также может помочь в составлении отчетов о коде. Например, можно попросить: “Суммируйте мои недавние изменения в лаконичные пункты.” Однако всегда стоит проверять результат.
Рекомендации и лучшие практики
Формулирование запросов
Чем более конкретными будут ваши запросы, тем лучше будет результат. Рекомендуется завершать запрос вопросом: “Есть ли у вас вопросы ко мне?” Это поможет AI лучше понять ваши намерения.
Использование систем контроля версий
Используйте git для создания стабильных точек, к которым можно вернуться в случае необходимости. Это особенно важно, когда AI может вносить изменения, которые не соответствуют вашим ожиданиям.
Тщательный обзор
Будьте критичны к своему коду. Проверьте изменения, как если бы вы проверяли код другого разработчика, и отправляйте работу только после самопроверки.
Заключение
AI-инструменты для программирования могут значительно повысить продуктивность разработчиков и освободить время для более высокоуровневого планирования. Однако важно помнить, что AI не является панацеей, и качество работы разработчика всегда будет в цене.
Мы с нетерпением ждем, что принесет будущее в мире AI-технологий для разработки.
[METADESC]Изучите, как AI-инструменты могут повыс
Источник: https://www.smashingmagazine.com/feed/