О когнитивной ловушке, в которую можно попасть, почему нельзя так делать и как делать надо.

Автор: Саша Окунев #Figma #первые_шаги 20 августа 2022

photo_2022-08-03_18-19-33.jpg

Автор мема: Глеб Сабирзянов

В 2021 году Figma выпустила фичу «Варианты», и с тех пор дизайнеры стремятся применить варианты где только можно.

Уже несколько раз натыкался на такой вопрос в Фигма-чате: дизайнер объединяет весь свой пак иконок в компонент Icon. А потом страдает от того, что варианты образов неудобно переключать, нет превью иконок и вообще Фигма отстой.

Если мы объединяем в одну кучу слишком много однотипных свойств, варианты перестают выполнять свою функцию и проигрывают обычным компонентам без вариантов.


Варианты удобны только для ограниченного количества компонентов. У одного свойства не стоит делать больше 7 вариантов выбора, потому что есть правило семи и его игнорирование увеличит когнитивную нагрузку на дизайнера, которому нужно выбрать нужный элемент. Ими удобно переключать вид одного сложного компонента, доращивать или скрывать слои, переключая заранее настроенные модификации.

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

Почему возникает идея оборачивать иконки в варианты?

Те, кто делают это, попадают в когнитивную ловушку, руководствуясь логикой, что подобное стремится к подобному и каждый компонент должен быть отражён в дизайне и коде лишь один раз. С точки зрения фронтенд-библиотеки иконка — это действительно один тип компонента и поэтому кажется логичным объединить все мастера иконок в один компонент Icon, чтобы добиться соответствия этого компонента в UI-ките и фронтенд-библиотеке. Но на уровне UI-кита они точно должны быть разными просто потому, что так устроена Figma.

Любое решение в дизайн-системе должно быть продиктовано целесообразностью и здравым смыслом, а не бездумным следованием стандартам и правилам.

❌ Почему так делать не надо

  1. Когда будем искать компонент в поиске, будет отображаться только первый вариант, даже если ищем другие. Не используем потенциал поиска по компонентам для демонстрации превью.

    Untitled