C
ChaoBro

React Doctor: когда ИИ начинает «диагностировать» ваш React-код

React Doctor: когда ИИ начинает «диагностировать» ваш React-код

«Ваш агент пишет плохой React. Это ловит его»

В README React Doctor есть довольно дерзкая фраза: «Your agent writes bad React. This catches it.»

Это звучит не очень приятно, но попадает в болевую точку, которая есть почти у каждого фронтенд-разработчика в 2026 году.

С момента распространения ИИ-инструментов программирования, таких как Cursor, Copilot и Codex, скорость производства фронтенд-кода выросла в несколько раз. Но скорость выросла — а как насчёт качества?

Инструмент, рождённый из практики

React Doctor создал Aiden Bai — основатель Million.js. Это не обычный мейнтейнер проекта; это инженер с почти одержимой страстью к оптимизации производительности React.

Million.js сам по себе — альтернатива виртуальному DOM, которая позиционируется как «на 70% быстрее React». Поэтому когда он говорит «в React-коде, написанном ИИ, есть проблемы», стоит прислушаться.

Ещё более примечательна недавняя частота обновлений — PR мёржились всего 2 часа назад, исправлялись ложные срабатывания и улучшался алгоритм评分. Это показывает, что это не proof of concept, а серьёзно разрабатываемый, рабочий инструмент.

Что именно он проверяет?

React Doctor — не универсальный линтер. Он фокусируется на тех «вроде работает, но на самом деле это ловушка» паттернах, распространённых в ИИ-генерированном коде:

  • Необязательные ре-рендеры: ИИ часто генерирует компоненты без memo и useMemo, функционально всё работает, но производительность катастрофическая
  • Неправильные паттерны получения данных: прямой вызов API в render, отсутствие обработки ошибок, нет состояния загрузки
  • Чрезмерно сложные структуры компонентов: ИИ склонен сваливать всю логику в один компонент вместо того, чтобы разделить
  • Код, нарушающий лучшие практики React: например, прямая мутация state вместо использования setState

Его логика проверки — не простое AST-сопоставление, а комбинация с семантическим анализом — он понимает «этот код синтаксически корректен, но при выполнении возникнут проблемы».

GitHub Action интеграция — киллер-фича

Самый умный дизайн React Doctor — это превращение его в GitHub Action.

Вам не нужно запускать его вручную — он автоматически запускается при каждом PR,评分 вашего кода и перечисляет конкретные проблемы. Это означает:

  1. ИИ-генерированный код автоматически ревьюится, не нужно вручную проверять каждую строку
  2. Команды могут установить порог качества, PR ниже порога автоматически отклоняются
  3. Проблемы отображаются прямо в PR, разработчики видят их прямо в интерфейсе code review

Этот дизайн рабочего процесса очень хорошо вписывается в реальные сценарии командной разработки.

Leaderboard, разжигающий конкуренцию

React Doctor недавно добавил функцию Leaderboard — ранжирование различных ИИ-инструментов программирования по качеству кода.

Это может выглядеть как маленькая фича, но её значение может быть больше, чем у самого инструмента. Потому что он создаёт публичное измерение для сравнения: больше не о том, у кого больше функций или быстрее ответ, а «чей код качественнее».

Если это конкурентное измерение закрепится, оно заставит производителей ИИ-инструментов программирования сосредоточиться на качестве кода, а не просто наращивать количество функций.

Мои тревоги

Подход React Doctor отличный, но есть фундаментальный вопрос: кто определяет «хороший код»?

Понимание Aiden Bai производительности React, без сомнения, первоклассное, но его стандарты не обязательно подходят каждой команде и каждому проекту. В некоторых сценариях читаемость важнее производительности; в других — скорость разработки важнее качества кода.

React Doctor нужно избегать превращения в инструмент «есть только один правильный способ». К счастью, из недавних обновлений видно, что команда активно снижает уровень ложных срабатываний и принимает пользовательские отзывы — это хороший сигнал.


Если вы используете ИИ-инструменты для написания React-кода, React Doctor заслуживает места в вашем CI-процессе. Он не заменит ручное code review, но поможет отловить тот код, который «ИИ считал нормальным, но на самом деле это не так».