«Ваш агент пишет плохой 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,评分 вашего кода и перечисляет конкретные проблемы. Это означает:
- ИИ-генерированный код автоматически ревьюится, не нужно вручную проверять каждую строку
- Команды могут установить порог качества, PR ниже порога автоматически отклоняются
- Проблемы отображаются прямо в PR, разработчики видят их прямо в интерфейсе code review
Этот дизайн рабочего процесса очень хорошо вписывается в реальные сценарии командной разработки.
Leaderboard, разжигающий конкуренцию
React Doctor недавно добавил функцию Leaderboard — ранжирование различных ИИ-инструментов программирования по качеству кода.
Это может выглядеть как маленькая фича, но её значение может быть больше, чем у самого инструмента. Потому что он создаёт публичное измерение для сравнения: больше не о том, у кого больше функций или быстрее ответ, а «чей код качественнее».
Если это конкурентное измерение закрепится, оно заставит производителей ИИ-инструментов программирования сосредоточиться на качестве кода, а не просто наращивать количество функций.
Мои тревоги
Подход React Doctor отличный, но есть фундаментальный вопрос: кто определяет «хороший код»?
Понимание Aiden Bai производительности React, без сомнения, первоклассное, но его стандарты не обязательно подходят каждой команде и каждому проекту. В некоторых сценариях читаемость важнее производительности; в других — скорость разработки важнее качества кода.
React Doctor нужно избегать превращения в инструмент «есть только один правильный способ». К счастью, из недавних обновлений видно, что команда активно снижает уровень ложных срабатываний и принимает пользовательские отзывы — это хороший сигнал.
Если вы используете ИИ-инструменты для написания React-кода, React Doctor заслуживает места в вашем CI-процессе. Он не заменит ручное code review, но поможет отловить тот код, который «ИИ считал нормальным, но на самом деле это не так».