Раздел 1. Оптимизация рабочего окружения
Подготовим базу для эффективного кодинга с AI-асситентами. Узнаем, какие существуют AI-инструменты для разработчиков и как интегрировать их в своё рабочее окружение.
Настроим среду разработки под совместную работу с ИИ: установим и сконфигурируем плагины, развернём заготовку проекта. Особое внимание уделим тому, как правильно формулировать запросы (промпты) для ассистента и получать от него результат на этапе начальной настройки проекта.
- Обзор популярных AI-ассистентов для кодинга (GitHub Copilot, ChatGPT, Cursor и др.) и их возможности.
- Обзор Cursor: Работа с режимами, взаимодействие с терминалом, знакомство с горячими клавишами, выбор ИИ-моделей.
- Создание нового проекта на базе шаблона: инициализируем приложение «Интернет-магазин» (Фронтенд фреймворк + Vite).
- Конфигурирование окружения: генерация типовых конфигурационных файлов (например, vite.config.js).
- Установка редактора кода Cursor и настройка AI-ассистента. Разворачивание с помощью этого ассистента начального проекта интернет-магазина. Создание базовых правил по работе AI-асситента при созаднии новой функциональности.
- Тестирование по основным возможностям AI-инструментов, принципам настройки окружения, правилам формулирования запросов.
Переходим к практической разработке функциональности. Начнём реализовывать ключевые возможности нашего интернет-магазина, активно привлекая AI к написанию кода и его улучшению.
Научимся правильно описывать требуемую функциональность, чтобы ассистент генерировал нужный результат, и разберёмся, как вносить правки в предложенный AI-код.
Рассмотрим сценарии рефакторинга: когда у нас уже есть написанный код, как попросить AI улучшить его структуру, убрать дублирование или повысить производительность.
- Техники эффективного «prompt engineering»: как сформулировать запрос к AI, чтобы получить корректный и оптимальный код.
- Реализация UI и бизнес-логики.
- Контроль качества ответов: стратегии проверки сгенерированного кода.
- Рефакторинг с подсказками: практикуем улучшение существующего кода.
- Реализация возможности добавления товаров в корзину и удаления из неё, в агентском режиме.
- Тестирование по основам генерации кода по запросу, методам проверки AI-кода, приёмам рефакторинга с помощью ассистента.
Научимся обеспечивать надежность и чистоту кода. Фокус смещается на тестирование написанного функционала и автоматизированный контроль качества.
Мы сгенерируем ряд тестов для нашего интернет-магазина – проверим работу корзины, корректность расчетов, реакцию на неверные данные. AI поможет придумать сценарии, которые разработчик мог упустить.
Также рассмотрим, как ассистент может выступать в роли «умного линтера»: выявлять потенциальные ошибки, указывать на уязвимости и давать рекомендации по улучшению кода с точки зрения архитектуры.
- Генерация unit-тестов средствами AI с использованием описания функциональности или контрактов функций.
- Тестирование краевых случаев: привлечение AI для придумывания нетривиальных сценариев.
- Инструменты в тестировании: обзор возможностей фреймворков (Jest, Vitest) в сочетании с AI.
- Code Review: применение ассистента для анализа готового кода на наличие проблем.
- Написание тестов с помощью AI для функциональности корзины и каталога, проверка тестов с помощью умышленных ошибок.
- Тестирование по покрытию кода тестами, типам граничных случаев, использованию AI для улучшения надежности и качества кода, основам AI-assisted code review.
Рассмотрим, как AI упрощает сопровождение проекта и работу с внешними инструментами.
У нашего приложения уже есть функциональность и тесты; теперь важно уметь доносить информацию о коде другим разработчикам и подключать дополнительные сервисы.
Мы изучим, как генерировать документацию при помощи AI. Также на практике выполним интеграцию внешнего API в проект с подсказками AI, ускоряя разбор новой для нас библиотеки.
- Автодокументирование кода: генерацияю описания функций и компонентов.
- Подготовка пользовательской документации.
- Подключение стороннего API.
- Обработка ответов и ошибок интеграции.
- Дополнение проекта интеграцией геокодинга адресов доставки.
- Генерация с помощью AI раздела «API» в документации проекта, описывающий новый модуль.
- Тестирование по генерации документации, шагам интеграции API, способам использования AI при изучении новых инструментов.
Рассмотрим, как AI может облегчить взаимодействие разработчиков между собой и решить типичные ежедневные задачи программиста.
Вы научитесь использовать ассистента для проведения код-ревью и поиска потенциальных проблем в чужом коде, автоматизации рутинных коммуникаций (написание понятных сообщений о коммитах, Pull Request описаний, оформление документации о релизе).
Также обсудим ограничения и этику: когда доверять AI недопустимо, как договориться о правилах его использования в команде, чтобы все были в курсе.
- AI как помощник код-ревьюера: практика использования AI-ассистента для анализа диффа (изменений) в pull request.
- Генерация сопроводительных материалов, таких как описания для коммитов или release notes.
- Планирование: возможности использования ассистента при разбиении большой задачи на подзадачи.
- Проведение ревью кода с помощью AI.
- Генерация с помощью AI сообщений для коммитов и pull request.
- Финальный тест по всему курсу.