Browse commands

/impeccable harden

Harden

Зробіть інтерфейси готовими до продакшену. Крайові випадки, i18n, стани помилок, переповнення.

Коли використовувати

/impeccable harden призначений для дня, коли ваш інтерфейс зустрічається з реальністю. Реальні дані користувачів хаотичні: імена довжиною 60 символів, назви продуктів німецькою, ціни в мільярдах, помилки 500, офлайн-режими, текст зправа наліво. Дизайни, що працюють лише з ідеальними даними, не готові до продакшену.

Зверніться до нього перед запуском, перед виходом на новий ринок або будь-коли, коли звіт про помилку починається з “наш користувач мав дуже довге ім’я і”. Для потоків першого запуску, активації порожніх станів та дизайну онбордингу зверніться до /impeccable onboard.

Як це працює

Навичка працює через чотири виміри реальної стійкості:

  1. Текстові та дані екстремуми. Довгий текст, короткий текст, спеціальні символи, емодзі, RTL, числа в мільярдах, списки з 1000 елементів.
  2. Сценарії помилок. Збої мережі, API 4xx/5xx, помилки валідації, помилки дозволів, ліміти запитів, паралельні операції.
  3. Інтернаціоналізація. Довгі переклади (німецька часто на 30% довша за англійську), мови RTL, формати дат та чисел, символи валют, набори символів.
  4. Пристрій та контекст. Сенсорні цілі, поведінка офлайн, повільні з’єднання, режим енергозбереження.

Для кожного виміру вона ідентифікує режим відмови, потім застосовує конкретне виправлення: обробка переповнення, інформативний UI помилок, безпечні для i18n макети, плюралізація, розумні резерви.

Спробуйте

Почніть з однієї сторінки та одного виміру:

/impeccable harden the user profile page for long names

Очікуваний результат:

  • .user-name тепер має text-overflow: ellipsis з підказкою для повного значення
  • .bio перемкнувся з фіксованої висоти на max-height з розкривним блоком “показати більше”
  • Додано порожній стан для користувачів без біографії
  • Додано скелетний завантажувач для асинхронного завантаження аватара
  • Протестовано з довжинами імен 1, 20, 60, 200 символів

Запускайте по сторінці, а не все відразу. Перший запуск — найбільший; подальші знаходять менше проблем, оскільки патерни закріплюються.

Підводні камені

  • Очікування звіту про помилку. Harden — профілактичний. Якщо ви виявили, що виправляєте той самий клас помилок двічі, запустіть /impeccable harden по всій функції.
  • Ставлення до станів помилок та порожніх станів як до післядуми. Більшість роботи з зміцнення — це UI станів помилок та порожніх станів. Виділіть на це час, а не просто блок catch.
  • Пропуск i18n, оскільки “ми поки лише англійською”. Макети, безпечні для i18n — все одно кращі макети. Гнучкі контейнери, правильне перенесення тексту, щедра висота рядка. Нічого з цього не шкодить англійській.