Здоровье дизайн-системы показывает одной оценкой от 0 до 100, насколько код следует макету и токенам. Рядом с числом всегда видно, из чего оно сложено, поэтому его можно проверить и понять, что исправлять первым. Здесь описаны оценка и буква, каждая составляющая с её весом, динамика по прогонам и здоровье отдельного компонента.
Перед началом
- Для проекта подключена дизайн-система в коде, и она хотя бы раз проиндексирована. См. Подключение дизайн-системы.
- Как сторона макета подключена хотя бы одна библиотека компонентов. Без макета сверять код не с чем, и оценки нет.
Где её найти
- Откройте проект. В разделе Из кода карточка Дизайн-система в коде уже показывает оценку, букву и изменение с последней индексации.
- Нажмите Открыть. Вкладка Обзор начинается с карточки Здоровье дизайн-системы.
Карточка называет коммит, по которому посчитана оценка. Две составляющие, которые зависят от макета, пересчитываются при каждом открытии, поэтому синхронизация библиотеки компонентов видна без новой индексации. Остальные берутся из последнего прогона индексации.
Оценка и буква
Крупное число показывает оценку из 100. Бейдж рядом показывает букву, а шкала под числом отмечает, где на ней стоит оценка.
Под буквой карточка показывает, на сколько оценка сдвинулась с последней индексации и какой она была на том коммите. После самой первой индексации сравнивать пока не с чем, и карточка так и пишет.
Из чего сложена оценка
Блок Из чего сложен скор перечисляет шесть составляющих. У каждой есть вес, значение в процентах и числа, из которых это значение получено.
Оценка равна взвешенному среднему этих составляющих. Обходы делятся на число применений: десять обходов в большой кодовой базе весят меньше, чем десять в маленькой.
Неизмеренное не равно нулю
Если данных для составляющей нет, она помечена Не измерено. Такая составляющая выпадает из оценки вместе со своим весом, и оставшиеся делят целое между собой. Засчитать её нулём значило бы наказать команду за то, чего FISYCO просто не видел.
Когда оценки нет
Оценка говорит о дизайн-системе, поэтому ей нужны обе стороны. Если макет не подключён или нет репозитория, карточка пишет Оценивать пока нечего. Она предлагает Подключить макет или Подключить репозиторий, смотря какой стороны не хватает. Гигиена кода сама по себе ещё не здоровье дизайн-системы.
Что поднимет оценку
Блок Что поднимет скор больше всего называет до трёх действий, самое выгодное первым. Каждое описано в числах, например «Связать 16 компонентов с макетом», и помечено «до +N». Это столько пунктов, сколько добавит составляющая, если довести её до 100%. Прирост считается по весам.
Часть действий ведёт туда, где делается работа. Сопоставление, дубли и неиспользуемые значения вариантов открывают Компоненты. Структурные расхождения открывают Расхождения: там у каждого видно, что с ним делает FISYCO. См. Расхождения.
Если все измеренные составляющие на 100%, карточка говорит, что поднимать нечего.
Оценка по прогонам индексации
График Скор по прогонам индексации показывает оценку каждого недавнего прогона, до двенадцати, старые слева. Последняя точка полая и подписана «сейчас»: это то же число, что вверху карточки. Под линией идут даты, а два прогона за один день подписаны временем.
Ось начинается не с нуля, поэтому сдвиг с 58 на 63 заметен. До первой индексации график пишет, что динамика появится после неё.
FISYCO индексирует репозиторий после push в отслеживаемую ветку, а на случай пропущенного вебхука проверяет ветку раз в 30 минут.
Здоровье отдельного компонента
У каждого компонента своя оценка. Она собрана по той же модели и ставится по той же шкале букв.
Во вкладке «Компоненты»
Колонка Здоровье показывает оценку компонента и полосу цвета его буквы. Отсортируйте по ней, чтобы самые слабые компоненты оказались сверху; компоненты без оценки всегда стоят в конце. Компонент без пары в макете подписан «без сверки с макетом».
Щёлкните строку, чтобы открыть компонент. Фишка в его шапке показывает оценку, букву и самую слабую измеренную составляющую. Щелчок по ней открывает вкладку Здоровье.
Вкладка «Здоровье»
В каждой строке есть полоса и процент. Три составляющие, которые подняли бы оценку сильнее всего, ещё помечены «+N»: столько пунктов они добавят при 100%. Значок в строке открывает числа, вес и, где это помогает, что поднимет составляющую. Составляющая без данных показана прочерком, а не нулём.
Неполную оценку объясняют два бейджа. без сверки с макетом значит, что у компонента нет пары в макете, и оценка считается по остальным составляющим. неполная сверка значит, что у части вариантов макета нет известного соответствия в коде, и в оценку они не входят. Если не измерены ни Сверка с макетом, ни Доступность, вкладка пишет, что оценивать пока нечего.
Блок Доступность проверяет компонент статически, без исполнения кода. Проверок семь: контраст текста, доступное имя, щелчок по неинтерактивному элементу, подпись поля, альтернативный текст картинки, видимый фокус и размер цели. Блок честно называет, чего статика не видит, например поведение клавиатуры.
Подсказка Как это считается? объясняет оценку и показывает стабильность, то есть число ломающих изменений в хранимой истории. Стабильность видна, но в оценку не входит: компонент, который развивается, от этого не болеет.
AI-разбор на той же вкладке объясняет посчитанные факты и советует, что исправить первым. Оценку он не ставит и не меняет: одинаковые факты всегда дают одинаковое число.
Чтобы увидеть, чем компонент отличается от макета по частям, откройте вкладку Сравнение. См. Сравнение компонентов. ИИ-агенты получают ту же оценку компонента через MCP-сервер FISYCO: см. MCP для ИИ-агентов.