Использование ИИ в вашем ежедневном рабочем процессе разработки

ИИ не заменяет инженерное мышление. Он сокращает время между моментом, когда вы зашли в тупик, и нахождением решения.

Перестаньте просить ИИ «сделать код лучше». Вместо этого используйте эти пять практических методов.

  1. Поиск узких мест в производительности Используйте ИИ для создания чек-листов для аудита. Запрашивайте конкретные показатели, такие как:
  • Количество вызовов базы данных
  • Сетевые waterfall-диаграммы
  • Размер бандлов
  • RUM и время ответа сервера
  • Показатели Lighthouse
  1. Генерация неожиданных тест-кейсов Дайте ИИ сигнатуру функции или спецификацию. Запросите:
  • Граничные случаи
  • Необычные входные данные
  • Состояния гонки (race conditions)
  • Идеи для тестирования на основе свойств (property-based testing) Превращайте эти предложения в реальные тесты для повышения надежности.
  1. Рефакторинг с ограничениями Расплывчатые промпты приводят к плохому коду. Используйте конкретные инструкции:
  • «Снизь цикломатическую сложность, не меняя логику работы».
  • «Выдели чистые функции и сделай побочные эффекты явными».
  • «Сохрани публичный API прежним, но улучши именование». Ограничения облегчают проверку результата.
  1. Запросы контекстных объяснений ИИ помогает учиться быстрее, если вы предоставляете детали своего проекта. Спрашивайте:
  • «Почему этот рендер в React происходит дважды в StrictMode?»
  • «Исходя из этого плана выполнения SQL-запроса, в чем причина задержки?»
  • «В каком месте этой кодовой базы мне следует разместить эту валидацию?»
  1. Соблюдайте цикл валидации ИИ часто выдает неверные детали с высокой уверенностью. Следуйте этим правилам:
  • Если код компилируется, протестируйте его.
  • Если это касается безопасности, проверьте дважды.
  • Если он утверждает какой-то факт, проверьте источник.

Используйте этот шаблон промпта для лучших результатов:

  • Цель: Чего вы хотите достичь.
  • Контекст: Ваш язык и фреймворк.
  • Вводные данные: Ваш код, логи или ошибки.
  • Формат вывода: Списки, шаги или diff.
  • Ограничения: Производительность, читаемость или отсутствие новых зависимостей.

Пример: Цель: Снизить задержку API. Контекст: Node.js и Postgres. Вводные данные: Код эндпоинта и запрос. Вывод: Список из 5 улучшений. Ограничения: Никаких изменений схемы в этом спринте.

А как вы используете ИИ в своей ежедневной работе?

Источник: https://dev.to/imkrunal/using-ai-in-your-daily-dev-workflow-without-the-hype-57b1

Дополнительное обучающее сообщество: https://t.me/GyaanSetuAi