/impeccable harden
Harden
Подготовьте интерфейсы к продакшену. Крайние случаи, i18n, состояния ошибок, переполнение.
Когда использовать
/impeccable harden — для дня, когда ваш интерфейс встречается с реальностью. Реальные данные пользователей беспорядочны: имена из 60 символов, названия продуктов на немецком, цены в миллиардах, ошибки 500, офлайн-режимы, текст с письмом справа налево. Дизайны, которые работают только с идеальными данными, не готовы к продакшену.
Обращайтесь к нему перед запуском, перед выходом на новый рынок или всякий раз, когда баг-репорт начинается с «у нашего пользователя было очень длинное имя и». Для процессов первого запуска, активации пустых состояний и дизайна онбординга обращайтесь к /impeccable onboard.
Как это работает
Навык проходит через четыре измерения устойчивости к реальному миру:
- Крайние случаи текста и данных. Длинный текст, короткий текст, спецсимволы, эмодзи, RTL, числа в миллиардах, списки из 1000 элементов.
- Сценарии ошибок. Сетевые сбои, API 4xx/5xx, ошибки валидации, ошибки прав доступа, rate limits, параллельные операции.
- Интернационализация. Длинные переводы (немецкий часто на 30% длиннее английского), языки RTL, форматы дат и чисел, символы валют, наборы символов.
- Устройства и контекст. Зоны касания, поведение офлайн, медленные соединения, режим энергосбережения.
Для каждого измерения он определяет режим отказа, затем применяет конкретное исправление: обработка переполнения, информативный UI ошибок, i18n-безопасные макеты, плюрализация, разумные fallback’и.
Попробуйте
Начните с одной страницы и одного измерения:
/impeccable harden the user profile page for long names
Ожидаемый результат:
.user-nameтеперь имеетtext-overflow: ellipsisс подсказкой для полного значения.bioпереключён с фиксированной высоты наmax-heightс раскрытием «показать больше»- Добавлено пустое состояние для пользователей без био
- Добавлен скелетонный загрузчик для асинхронной загрузки аватара
- Протестировано на длинах имён 1, 20, 60, 200 символов
Запускайте постранично, а не всё сразу. Первый запуск — самый объёмный; последующие находят меньше проблем по мере закрепления паттернов.
Подводные камни
- Ожидание баг-репорта. Harden — превентивная мера. Если вы ловите себя на исправлении одного и того же класса багов дважды, запустите
/impeccable hardenна всю функцию. - Восприятие состояний ошибок и пустых состояний как запоздалой мысли. Большая часть работы по hardening — это UI ошибок и пустых состояний. Выделяйте на это время, а не только блок
catch. - Пропуск i18n из соображений «пока только английский». i18n-безопасные макеты всё равно лучше макеты. Гибкие контейнеры, правильные переносы текста, щедрый межстрочный интервал. Ничто из этого не вредит английскому.