组件库一旦规模变大,最先崩的通常不是样式,而是命名。设计师找不到正确组件,会复制一个相似的再改,库里出现重复;开发不知道该用哪个,随手写一个临时版本,产品出现分叉。表面是库变乱,本质是检索和语义不稳定。命名就是组件库的索引系统,索引不清,系统就不可用。
好的命名要满足三件事:看名字就知道是什么、怎么用;不同人命名得到一致结果;名字能映射到代码里的结构。满足这三点,组件库才会越做越省力。
命名要先回答组件属于哪一层。基础层是通用控件,例如按钮、输入框、标签;模式层是组合结构,例如表单行、列表项、对话框骨架;业务层是带强业务语义的组合,例如商品卡片、订单列表行。三层混在一起,命名就会失去尺度。建议在命名里显式体现层级,例如用前缀或分组目录。
分层的好处是边界清楚。基础层追求可复用,业务层追求效率。把业务语义塞进基础组件的名字里,会导致基础层越来越难复用,最终只能复制粘贴。分层是防止失控的第一道闸。
一个常见错误是把动作和状态混进组件名,导致名字像一句话。更稳的做法是组件名用名词,例如 Button、Input、Card。变化用属性表达,例如 size、tone、state。属性名尽量用形容词或可枚举的词表,例如 size 的值是 sm、md、lg,tone 的值是 primary、neutral、danger。词表越小,越不容易产生分叉。
当属性词表足够稳定,你就可以通过组合表达大量变体,而不是用多个相似组件名来表达。例如把 PrimaryButton、DangerButton 拆回 Button 加 tone 属性,库会更干净。
很多组件库的问题来自变体组织随意:同一个组件在不同文件里出现不同的分组方式,有的按尺寸分,有的按状态分。建议统一一个主轴:先按语义强弱或使用频率分组,再在组内按属性排列。比如按钮可以先按 tone 分为主、次、危险,再在每组内按 size 和 state 展开。展开顺序稳定后,任何人都能快速找到需要的版本。
如果工具支持属性面板,尽量让属性名和代码一致。这样设计稿里的选择就能直接对应到实现,减少沟通成本。命名的一致性本质上是在降低翻译成本。
命名之所以分叉,是因为大家用不同词表达同一件事。建议建立推荐词表和禁用词表。例如用 disabled 而不是 unclickable,用 danger 而不是 warning。词表不需要很长,但要覆盖常用概念。词表一旦确定,就在评审里坚持使用,久了就会形成团队语言。
同时避免把具体实现写进名字里。例如不要叫 RedButton、ShadowCard,因为颜色和阴影是可变的实现细节。名字应当表达语义,而不是表达某个时刻的视觉方案。
最后把设计命名映射到代码结构:组件目录名、文件名、属性名、枚举值都尽量一致。这样开发看到设计稿就知道该改哪里,设计看到代码也能理解差异。命名对齐之后,设计系统才会真正连起来,而不是两套平行系统。
组件库不是越做越多,而是越做越省力。命名规则就是省力的杠杆。把规则写清、用起来、坚持下去,库就会从负担变成资产。
很多团队不敢推命名规则,是因为库里已经有一堆旧名字。此时不要试图一次性全改,而是从最常用的组件开始收敛:按钮、输入框、卡片、弹窗。先让高频组件在新规则下稳定下来,再逐步把低频组件迁移。迁移过程中允许旧名保留一段时间,但要在文档里标记为不推荐,避免继续新增依赖。
命名的改动应当伴随一次小范围的对齐沟通:推荐词表更新、属性词表冻结、以及对外展示的分组方式统一。只要高频路径变顺,团队会自然愿意继续收敛。
很多团队不敢推命名规则,是因为库里已经有一堆旧名字。此时不要试图一次性全改,而是从最常用的组件开始收敛:按钮、输入框、卡片、弹窗。先让高频组件在新规则下稳定下来,再逐步把低频组件迁移。迁移过程中允许旧名保留一段时间,但要在文档里标记为不推荐,避免继续新增依赖。
命名的改动应当伴随一次小范围的对齐沟通:推荐词表更新、属性词表冻结、以及对外展示的分组方式统一。只要高频路径变顺,团队会自然愿意继续收敛。
很多团队不敢推命名规则,是因为库里已经有一堆旧名字。此时不要试图一次性全改,而是从最常用的组件开始收敛:按钮、输入框、卡片、弹窗。先让高频组件在新规则下稳定下来,再逐步把低频组件迁移。迁移过程中允许旧名保留一段时间,但要在文档里标记为不推荐,避免继续新增依赖。
命名的改动应当伴随一次小范围的对齐沟通:推荐词表更新、属性词表冻结、以及对外展示的分组方式统一。只要高频路径变顺,团队会自然愿意继续收敛。
很多团队不敢推命名规则,是因为库里已经有一堆旧名字。此时不要试图一次性全改,而是从最常用的组件开始收敛:按钮、输入框、卡片、弹窗。先让高频组件在新规则下稳定下来,再逐步把低频组件迁移。迁移过程中允许旧名保留一段时间,但要在文档里标记为不推荐,避免继续新增依赖。
命名的改动应当伴随一次小范围的对齐沟通:推荐词表更新、属性词表冻结、以及对外展示的分组方式统一。只要高频路径变顺,团队会自然愿意继续收敛。