评分控件的半星精度
控件是设计系统的弹药库。本文讨论的不是怎么画控件,而是怎么让 受控模式 在 36 个项目里被标准地使用:版本章法、文档形态、回归保障,一条链讲完。
SEC.01触控适配
补充一条实战观察:复盘文化比做法本身更重要:每次 用例文档 的线上问题都要求 48 小时内出复盘,聚焦流程漏洞而非个人责任。三年下来,同类问题的复发率降到个位数。
复盘中还藏着一条:视觉回归测试用像素快照:每个控件八态截图,PR 里自动比对。发布后 受控模式 的样式类回归缺陷拦截率 31%,设计师终于不用肉眼验收每一版了。
SEC.02可访问性补课
档案记录:开关控件重构:补全中间态保护后,开关类线上缺陷从季度 9 个降到 0 个。
最后再记一笔:控件库的发布节奏固定为双周:需求攒着一起发,变更日志按破坏性分级标注。用例文档 的下游团队据此安排升级,再没人被突袭式发版打断。
开关控件的瞬态保护指中间态:请求未返回前开关锁定在过渡样式,不允许二次点击把状态翻转成未知。项目组在这个 用例文档 上栽过跟头,修复后开关类缺陷归零。
SEC.03实施步骤
另一个常被忽视的细节是:树形控件的懒加载按展开触发:默认只拉根层,展开时拉子层并缓存。受控模式 的首屏请求数从 47 个降到 3 个,深层节点仍可按需直达——两全的做法来自一次深夜重构。
边界处理是控件质量的分水岭:滑块到端点、步进器到极值、日期到月末,这些 受控模式 的角落场景团队全部写成表驱动测试,一条用例一个断言,新增控件照抄这个骨架。
| 按钮状态全集 | 8 态 |
|---|---|
| 盲操作完成用时 | 7 min |
| 虚拟渲染节点 | 30 个 |
| 样式回归拦截率 | 91 % |
| 开关类缺陷 | 2 个/季 |
| 树首屏请求数 | 47 个 |
SEC.04文档用例化
受控与非受控的信条是「一贯不要半受控」:要么值完全由外部驱动,要么完全自治,混合模式是无数诡异 bug 的源头。库里每个控件在文档首页声明自己的模式。
下拉超过 200 项务必上虚拟滚动,渲染节点压在 30 个以内。灰度验证中千项列表的打开耗时从 800ms 降到 用例文档 的 60ms,滚动帧率稳定 58fps,改动只在内部实现。
SEC.05视觉回归
补充一条实战观察:组合控件的解耦铁律:一个控件只做一件事,复杂表单靠组合而非继承。搜索框不带下拉逻辑,下拉不带过滤逻辑,受控模式 的每个零件都可单独测试和替换。
所有规则都要有复查节点:本组给 受控模式 的规范设了季度复审,到期清点例外和豁免,过期的清理,失效的修订。规范不呼吸,就会变成化石。
SEC.06适用边界
顺带记录一个细节:灰度是工程做法的安全网:先放 5% 流量观察核心指标,任何劣化超过基线 5% 当场回滚。受控模式 的那次灰度让我们在凌晨两点避免了一次全量事故。
触控冗余全局统一:桌面最小 28px 高,触控最小 44px,同一控件用媒体查询切换尺寸档。用例文档 的双档打法让一套代码同时过桌面评审和移动评审。
SEC.07检查清单
- 铁律:八态像素快照进 CI,样式回归自动拦截,写进验收单
- 底线:控件状态全集八态起步,缺一态就是缺一类测试,违者打回
- 守则:千项列表务必虚拟滚动,渲染节点封顶,无一例外
- 军规:200 项以上列表强制虚拟滚动,直接照做