Skip to content

设计系统搭建最佳实践

本文面向设计团队管理者,讲解如何从零规划、搭建和维护一个可扩展的 MasterGo 设计系统。

设计系统的核心组成

在 MasterGo 中,设计系统由以下四部分组成:

组成部分对应功能作用
组件组件、组件集、变体可复用的 UI 元素(按钮、卡片、导航等)
样式颜色样式、文本样式、效果样式统一的基础视觉属性
变量颜色变量、数值变量、字符串变量、布尔变量设计 Token 的底层存储单元
团队库发布团队库将组件和样式分发给团队使用

变量命名与组织

使用斜杠层级命名

MasterGo 支持斜杠 / 分隔符来组织变量层级,形成树状结构:

color/brand/primary
color/brand/secondary
color/text/primary
color/text/secondary
color/background/page
color/background/card
spacing/sm
spacing/md
spacing/lg
font/size/heading
font/size/body
font/weight/normal
font/weight/bold
radius/sm
radius/md

使用语义化命名,避免色值命名

命名应表达变量的用途而非具体值。这样当品牌色变更时,只需修改变量值,所有引用自动更新。

推荐:

  • color/brand/primary — 表达"主品牌色"
  • spacing/card-padding — 表达"卡片内边距"

避免:

  • color/blue-500 — 颜色值可能变化
  • spacing/16px — 数值可能调整

变量集合组织

将变量按功能分组到不同集合中,便于管理和导出:

集合内容示例
Colorsbrand、text、background、border、icon 等颜色组
Spacingspacing、gap、padding、margin 等间距层级
Typography字号、字重、行高、字体系列
Radius & Border圆角、描边宽度
Effects阴影参数、模糊参数
Component Tokens组件级别的专属 Token(按钮高度、卡片宽度等)

利用变量模式实现主题切换

MasterGo 支持在一个变量集合中创建多个模式(Mode)。利用此功能实现明暗主题切换:

  • 创建一个颜色变量集合,添加「Light」和「Dark」两个模式
  • 同一变量在不同模式下设置不同颜色值
  • 切换模式时,所有引用自动更新

组件命名规范

斜杠命名法

使用 / 分隔符组织组件层级,组件在资源面板中自动归类:

Button / Primary / Default
Button / Primary / Hover
Button / Primary / Disabled
Button / Secondary / Default
Input / Default
Input / Focus
Input / Error
Card / Product / Default
Card / Product / Hover
Modal / Default
Modal / WithIcon

对齐设计与开发的命名

组件和属性的命名应尽量与前端代码对齐。例如:

  • 设计中的 Button / Primary / Large 对应代码中的 <Button type="primary" size="large">
  • 变量属性名应与 CSS 属性或设计 Token 名一致

这不意味着必须使用英文——选择团队统一的语言即可,关键是一致。

文本图层命名

组件内的文本图层使用语义化命名,确保:

  • 替换组件实例时,相同名称的文本图层会保留覆盖内容
  • 例如:按钮内文本统一命名为 Label,卡片标题统一命名为 Title

避免使用 Rectangle 3Frame 42 等默认名称。

组件库文件组织

页面结构

在一个组件库文件中,建议按以下结构组织页面:

页面内容
📋 概览设计系统简介、使用指南、更新日志
🎨 基础样式颜色、字体、阴影、间距等基础样式
🧩 基础组件按钮、输入框、图标等原子级组件
🧱 复合组件卡片、列表、导航栏等复合组件
📱 页面模板完整页面布局、常见页面结构
📦 归档旧版组件、已废弃设计

按字母/数字顺序排列页面,方便在资源面板中按序显示。

单文件 vs 多文件策略

策略适用场景优点缺点
单文件小团队、单一产品维护简单,一个发布入口文件大、加载慢
多文件大团队、多产品线按需订阅,职责清晰跨文件引用需协调

建议从单文件开始,当组件超过 100 个或团队超过 20 人时,考虑拆分为多个库文件:

  • 基础样式库(颜色、字体、间距)
  • 图标库
  • 基础组件库(按钮、输入框等)
  • 业务组件库(特定产品的复杂组件)

组件设计原则

从原子开始组合

先创建最小的原子组件(图标、文本标签),再组合为复合组件(输入框 = 标签 + 输入区 + 错误提示)。修改原子组件时,所有复合组件自动更新。

充分利用自动布局

为组件设置自动布局,确保:

  • 内容变化时组件自动适应(按钮文案变长时按钮自动变宽)
  • 嵌套组件保持间距一致
  • Dev Mode 中开发者能准确识别布局逻辑

使用组件属性而非隐藏图层

用组件属性(布尔值、变体切换)来控制组件的不同状态,而非在一个组件中隐藏/显示图层。这能:

  • 减少文件体积
  • 提高组件面板的可用性
  • 让开发者在 Dev Mode 中更清晰地理解组件结构

为组件添加描述

在组件属性面板中为每个组件添加描述,说明:

  • 用途:这个组件用于什么场景
  • 使用规范:何时使用、何时不用
  • 变体说明:各变体的适用场景差异
  • 开发备注:对应的前端组件名或 API

描述内容会出现在资源面板的悬浮提示中,帮助团队成员选择正确的组件。

发布与版本管理

发布前检查清单

  • [ ] 所有组件已正确命名(无默认名称)
  • [ ] 组件变体和属性已完整配置
  • [ ] 样式和变量已绑定到组件(而非硬编码值)
  • [ ] 自动布局设置正确
  • [ ] 组件描述已填写
  • [ ] 已删除未使用的隐藏图层和草稿组件

发布流程

  1. 在组件库文件中完成修改
  2. 打开团队库面板 → 点击「保存历史版本」
  3. 填写版本说明(明确描述本次变更内容)
  4. 选择发布范围(团队库或组织库)
  5. 团队成员收到更新通知,可选择更新

版本管理建议

  • 每次发布标注清晰的版本说明,方便团队成员了解变更
  • 重大变更(如删除组件)应在发布前通知团队
  • 旧版本组件可以先移到归档页面,确认无人使用后再删除

常见反模式

反模式问题正确做法
一个组件内包含大量隐藏图层文件卡顿、组件面板混乱用布尔属性或变体控制可见性
组件名保留默认(Frame 42)团队难以找到和使用用语义化斜杠命名
颜色/间距直接写死数值修改时需逐个改动绑定变量或样式
把所有东西放在一个页面加载慢、难管理按功能分页组织
发布不写版本说明团队不知变更了什么每次发布写清晰的 Changelog
组件库和个人设计文件混用污染组件库组件库文件独立管理