组件库一开始往往很顺:按钮、输入框、卡片都能找到。随着业务增长,组件数量变多,命名开始混乱:同一种按钮有的叫 PrimaryButton,有的叫 MainCTA;同一种列表项有的叫 Item,有的叫 Cell。结果就是搜索找不到、复用做不到,大家开始复制粘贴,组件库迅速膨胀并失去一致性。
命名不是形式,它决定了组件库的可检索性和可理解性。命名越清晰,复用越高;命名越混乱,重复越多。
命名最常见的错误是用视觉特征命名,例如 BlueButton、BigCard。视觉会变,但语义更稳定。更好的命名是 Primary Button、Danger Button、Product Card、Article Card。语义命名让你在换主题、换颜色时不需要重命名,也让新人更容易理解组件用途。
当你必须表达视觉差异时,把视觉差异放在变体里,而不是放在组件名里。例如 Button / Variant=Primary,Button / Variant=Secondary。组件名保持稳定,变体表达差异。
同义词会让搜索失败。比如同一个概念有人用 Card,有人用 Tile;有人用 Cell,有人用 Row。建议你建立一份小型词汇表:每个概念只允许一个词。词汇表不需要很长,但要严格执行。一旦严格执行,组件库的可用性会提升非常明显。
词汇表也要覆盖状态词:Default、Hover、Pressed、Disabled、Loading。状态词统一后,开发与设计的沟通会更少误解。
组件库里最宝贵的是变体体系。一个按钮组件应该承载不同尺寸、不同风格、不同状态,而不是每一种都复制一个新组件。命名要能表达这种关系:Button / Size=Large / Variant=Primary / State=Disabled。这样你看到命名就能理解它和其他按钮的关系。
当变体关系清晰时,组件库会更像系统,而不是资源堆。
命名不是写给自己看的,是写给未来的团队看的。建议把命名规范同步到三个地方:设计文件的页面与Frame命名、组件库的组件命名、以及开发代码里的组件命名。三者尽量保持一致,至少保持同一套词汇表。这样当你在讨论“这个按钮”时,大家说的是同一个东西,而不是各自脑补。
此外,命名最好能支持搜索:例如输入 Button Primary 就能找到主按钮的所有变体,输入 List Item 就能找到列表项。命名一旦支持搜索,团队的效率会明显提升,因为你减少了大量“到处找组件”的时间。
组件越多,越需要让变体关系一眼可见。建议用固定顺序表达变体,例如 Component / Variant / Size / State。顺序稳定后,哪怕组件数量增长十倍,你依然能靠命名判断它是什么、属于谁、有什么差异。命名做到这一点,组件库就不容易失控。
当命名稳定后,你会发现协作里很多争论自动消失:因为大家不再争论“这个叫啥”,而是直接进入“这个应该怎么用”。
命名不是写给自己看的,是写给未来的团队看的。建议把命名规范同步到三个地方:设计文件的页面与Frame命名、组件库的组件命名、以及开发代码里的组件命名。三者尽量保持一致,至少保持同一套词汇表。这样当你在讨论“这个按钮”时,大家说的是同一个东西,而不是各自脑补。
此外,命名最好能支持搜索:例如输入 Button Primary 就能找到主按钮的所有变体,输入 List Item 就能找到列表项。命名一旦支持搜索,团队的效率会明显提升,因为你减少了大量“到处找组件”的时间。
组件越多,越需要让变体关系一眼可见。建议用固定顺序表达变体,例如 Component / Variant / Size / State。顺序稳定后,哪怕组件数量增长十倍,你依然能靠命名判断它是什么、属于谁、有什么差异。命名做到这一点,组件库就不容易失控。
当命名稳定后,你会发现协作里很多争论自动消失:因为大家不再争论“这个叫啥”,而是直接进入“这个应该怎么用”。
命名不是写给自己看的,是写给未来的团队看的。建议把命名规范同步到三个地方:设计文件的页面与Frame命名、组件库的组件命名、以及开发代码里的组件命名。三者尽量保持一致,至少保持同一套词汇表。这样当你在讨论“这个按钮”时,大家说的是同一个东西,而不是各自脑补。
此外,命名最好能支持搜索:例如输入 Button Primary 就能找到主按钮的所有变体,输入 List Item 就能找到列表项。命名一旦支持搜索,团队的效率会明显提升,因为你减少了大量“到处找组件”的时间。
组件越多,越需要让变体关系一眼可见。建议用固定顺序表达变体,例如 Component / Variant / Size / State。顺序稳定后,哪怕组件数量增长十倍,你依然能靠命名判断它是什么、属于谁、有什么差异。命名做到这一点,组件库就不容易失控。
当命名稳定后,你会发现协作里很多争论自动消失:因为大家不再争论“这个叫啥”,而是直接进入“这个应该怎么用”。