Разработка с AI

Code Review с AI: Второй взгляд, который не устаёт

Ты написал 500 строк кода. Отправляешь на ревью. Коллега находит 20 мелких замечаний: стиль, naming, потенциальный null. Время потрачено на обсуждение закономерного. Теперь представь: AI находит эти 20 вещей за 30 секунд, ты исправляешь, и коллега тратит время только на важное - архитектуру и логику.

  • **GitHub Copilot Chat**: Встроенный ревьюер прямо в IDE
  • **Pre-commit hooks**: AI-ревью автоматически перед каждым коммитом
  • **PR automation**: Боты, которые ревьюят PR и комментируют
  • **Self-improvement**: Учись на замечаниях AI, улучшай свой код

Предварительные знания

  • Prompt Engineering: The Art of Asking the Right Questions

AI как неутомимый ревьюер

Человеческий ревьюер устаёт после 200-400 строк кода. AI - нет. Это делает AI идеальным **первым ревьюером**, который ловит очевидные проблемы до human review.

**AI-ревью ловит:** - Стилистические проблемы - Потенциальные баги (null, edge cases) - Security issues (SQL injection, XSS) - Performance anti-patterns - Нарушения best practices

**AI НЕ заменяет human review для:** - Архитектурных решений - Бизнес-логики - Соответствия требованиям - Контекста проекта (naming conventions, patterns)

Когда AI-ревью наиболее полезен?

Промпты для ревью

Общий промпт 'проверь код' даёт слабый результат. **Специализированные промпты** дают конкретные, actionable замечания.

**Шаблон для code review:** ``` # Контекст [Язык, фреймворк, что делает код] # Фокус ревью [На что обратить внимание] # Код [Код для ревью] ```

**Полезные фокусы для ревью:**

  • **Security focus:** 'Найди уязвимости OWASP Top 10'
  • **Performance focus:** 'Найди bottlenecks и O(n²) алгоритмы'
  • **Maintainability:** 'Что сложно понять через 6 месяцев?'
  • **Testing:** 'Какие тесты нужны для полного покрытия?'
  • **Refactoring:** 'Где нарушается SOLID/DRY?'

Ты хочешь проверить платёжный код на security. Какой промпт лучше?

Специализированные виды ревью

Разные ситуации требуют разных типов ревью. Вот проверенные промпт-шаблоны:

**Security Review:** 'Как security эксперт, проверь код на: - Injection (SQL, command, LDAP) - XSS и CSRF - Broken authentication - Sensitive data exposure - Missing input validation Для каждой проблемы: строка, severity (critical/high/medium/low), exploit scenario, fix.'

**Performance Review:** 'Проанализируй performance: - Алгоритмическая сложность (Big O) - N+1 queries - Memory leaks / unbounded growth - Blocking operations в async коде - Кэширование: что можно закэшировать? Для нагрузки: 1000 concurrent users, 1M записей в БД.'

**Pre-commit Review:** 'Quick review перед коммитом: - Есть ли debug код? (console.log, print, debugger) - Закомментированный код? - TODO/FIXME без issue? - Hardcoded secrets? - Неиспользуемые imports/variables? Формат: файл:строка - проблема'

Перед деплоем в прод нужен быстрый final check. Какой тип ревью?

AI-ревью собственного кода

Самое ценное применение AI-ревью - **проверка своего кода до PR**. Ты ловишь проблемы до того, как их увидят коллеги.

**Преимущества self-review с AI:** 1. Находишь баги до human review 2. Улучшаешь код до публикации 3. Учишься на замечаниях AI 4. Экономишь время ревьюера

**Ловушка:** Не принимай всё, что говорит AI. Иногда замечания AI - это over-engineering или не релевантны твоему контексту. Критически оценивай предложения.

**Паттерн 'Rubber Duck + AI':**

AI-ревью заменяет human review

AI-ревью дополняет human review, убирая 'шум'

AI не понимает бизнес-контекст, не знает историю проекта, не видит архитектурные trade-offs. Human review остаётся критичным для важных решений.

Ты закончил feature и хочешь сделать self-review с AI. Какой подход?

Ключевые идеи

  • **AI — первый ревьюер**, человек — глубокий ревьюер
  • **Специализированные промпты** дают конкретные результаты
  • **Виды ревью**: Security, Performance, Pre-commit, Legacy
  • **Self-review с AI** до PR экономит время всем
  • **Критически оценивай** предложения AI — не всё релевантно

Куда дальше?

Code review - это реактивный процесс. Дальше - проактивное использование AI:

  • AI для архитектуры — Обсуждение trade-offs до написания кода
  • Debugging с AI — Как эффективно описывать баги
  • Тестирование с AI — Генерация тестов и test cases

Вопросы для размышления

  • Какие типы ошибок ты чаще всего делаешь? Создай для них специализированный промпт.
  • Попробуй 'Rubber Duck + AI': объясни свой последний код AI. Что нового заметил?
  • Как бы ты интегрировал AI-ревью в workflow своей команды?

Связанные уроки

  • se-01
Code Review с AI: Второй взгляд, который не устаёт

0

1

Войти