设计工作
用 AI 做组件审计
用 AI 做组件审计指南说明如何盘点代码与设计中的组件、变体、状态、令牌、无障碍和使用证据,形成保留、合并、修复与迁移决策,而非按名称机械去重。
用 AI 做组件审计,适合把设计文件、代码仓库、组件文档和页面截图中的候选组件整理成台账,发现命名重复、状态缺失和设计—代码偏差。AI 不能仅凭外观判断两个组件可以合并,也不能自动改动生产接口。
| 项目 | 说明 |
|---|---|
| 阅读时间 | 约 8 分钟 |
| 适合人群 | 设计系统团队、产品设计师、前端开发者、测试和技术写作者 |
| 核心产出 | 组件台账、变体矩阵、状态缺口、使用证据、合并候选和迁移计划 |
| 使用前提 | 能访问设计源、代码、文档和代表性页面,并限定审计范围 |
| 不适合 | 只看截图删组件、自动重命名公共 API,或忽略产品语义与迁移成本 |
相似外观不等于相同语义:链接与按钮可能看起来一致,但键盘、导航和状态不同。名称相同也不等于实现一致。审计应同时记录用途、语义、行为、状态、依赖和真实使用位置。
| 证据源 | 能回答 | 可能缺失 |
|---|---|---|
| 设计库 | 视觉变体、属性和使用说明 | 生产代码与真实内容 |
| 代码仓库 | API、状态、依赖和测试 | 设计意图与未实现方向 |
| 页面实例 | 实际组合、内容长度和上下文 | 隐藏状态与低频路径 |
| 团队访谈 | 历史原因和迁移风险 | 可验证使用规模 |
七步审计流程
Section titled “七步审计流程”- 限定范围与版本:确定产品区域、平台、设计库和代码分支,不宣称覆盖未扫描部分。
- 建立组件台账:记录名称、路径、负责人、用途、语义、使用位置和维护状态。
- 枚举变体与状态:默认、悬停、焦点、禁用、加载、错误、空内容、长文本和响应式行为。
- 比较设计与代码:让 AI 按属性和状态生成差异清单,每项链接到源文件或节点。
- 按语义聚类:识别重复实现、合法分叉和缺失抽象,不以颜色或名称单独决定合并。
- 形成决策组合:保留、修复、合并、弃用、补文档或继续研究,并记录依据与风险。
- 设计迁移与回归:列消费者、兼容期、自动修复可能性、视觉回归和无障碍复测。
假设示例:三个“按钮”实现
Section titled “假设示例:三个“按钮”实现”以下路径、组件和判断均为教学假设,不代表真实仓库审计结果。
C1 PrimaryButton:执行表单动作,支持 loading 和 disabled。C2 TextAction:视觉像文本链接,但用 button 元素打开弹层。C3 InlineLink:用于页面导航,支持外部链接标识。设计库只记录“主按钮、次按钮、文字按钮”,没有语义说明。| 候选 | 当前语义 | 状态缺口 | 初步决策 | 需要验证 |
|---|---|---|---|---|
| C1 | 表单动作 | 错误后恢复未说明 | 保留并补状态文档 | loading 时焦点和重复提交 |
| C2 | 页面内动作 | 焦点、禁用和长文本未知 | 不与链接机械合并 | 是否可归入统一 Action 变体 |
| C3 | 导航 | 访问过、外链名称待检查 | 保持链接语义 | 外链行为与读屏名称 |
阶段 A:补齐语义和状态文档,不改公共 API。阶段 B:扫描消费者,确认 C2 是否存在真实分叉需求。阶段 C:若合并,提供兼容映射、迁移示例和回归列表。停止条件:无法证明语义等价,或迁移会破坏键盘与导航行为。这个输出没有根据组件数量判断“重复率”,也没有声称迁移会减少多少开发时间。
决策与复核表
Section titled “决策与复核表”| 检查项 | 复核问题 | 合格信号 |
|---|---|---|
| 覆盖 | 审计了哪些源和版本? | 范围和遗漏清楚 |
| 语义 | 相似组件行为真的等价吗? | HTML、键盘和任务一致 |
| 状态 | 长内容、错误和加载是否覆盖? | 不只比较默认截图 |
| 使用 | 有哪些消费者与例外? | 每项能定位到实例 |
| 迁移 | 谁受影响,怎样回退? | 有兼容期、测试和责任人 |
- 按名称搜索后宣布组件数量,却遗漏别名和局部实现。
- 看到视觉相似就合并按钮与链接,破坏语义。
- 只整理设计库,不检查生产代码和真实页面。
- 一次性重命名公共 API,没有消费者清单和回退。
- 把“统一”当目标,忽略不同平台与任务的合理差异。
组件审计应该从设计还是代码开始?
Section titled “组件审计应该从设计还是代码开始?”两者都需要。可先从用户可见区域建立样本,再回到设计源与代码源核对用途、状态和消费者。
名称不同的组件一定重复吗?
Section titled “名称不同的组件一定重复吗?”不一定。要比较语义、行为、状态和使用情境;名称只是检索线索。
AI 能自动合并组件吗?
Section titled “AI 能自动合并组件吗?”可以提出代码候选和迁移步骤,但公共接口、视觉回归、无障碍与消费者影响必须由团队验证。
审计后应该立即删除旧组件吗?
Section titled “审计后应该立即删除旧组件吗?”通常需要弃用期、迁移指南和使用扫描。只有消费者清零并通过回归后,才进入删除决定。
组件审计的目标是让语义、状态和维护责任清楚,而不是追求数量更少。AI 能建立候选台账,保留、合并和迁移必须基于真实消费者与回归证据。