课程 287 / 365
79%
正文已完成
L287给课程目录写一份查找与排序契约
把搜索归一化、匹配范围、排序键和空结果交付成可测试规则。
目录体验由一串细小决定组成。搜索是否忽略大小写,匹配哪些字段,多个结果如何排序,空关键词和无结果怎样处理,都要写进可测试的契约。
能为一个目录类界面完成可实现、可验收的搜索排序设计。
核心概念
先把关键判断说清楚
归一化先于匹配
大小写、首尾空格和全半角差异应在搜索前统一,否则视觉相同的输入可能得到不同结果。
匹配范围要可解释
标题、摘要、标签和正文的权重不同;用户需要知道为什么某条结果被找到。
排序必须有最终兜底键
相关度或状态相同后再按稳定 ID 排序,才能保证相同输入返回相同顺序。
案例拆解
“Agent”课程搜索结果固定下来
课程目录同时匹配标题、摘要和篇章名,但没有权重与兜底键,部署后结果顺序经常变化。
- 01
关键词转小写并去除首尾空格,空关键词返回当前筛选下全部课程。
- 02
标题命中排在摘要命中之前,摘要命中排在篇章名命中之前。
- 03
同等级结果按课程编号升序,无结果时保留筛选条件并给出清除入口。
案例结果
搜索结果可复现,用户也能理解匹配与排序逻辑。
提交前练习
现在轮到你
为一个至少包含两个筛选条件的目录写查找与排序契约。
内容会自动保存在当前设备
查看参考答案与评分标准
参考答案
输入去空格并转小写;标题精确命中>标题包含>标签包含>摘要包含;同级按更新时间降序再按 ID 升序;空关键词显示全部,无结果保留关键词并提供清除按钮。
评分标准
- 归一化规则可实现
- 匹配和排序层级完整
- 两类空状态不混淆
本课收口 · 学习证据
完成,不等于随手打一个勾。
确认阅读、保存练习,再用 30 秒检查和一句话总结留下真实学习证据。
02完成本课练习0 / 4 项必填内容已填写
03通过理解检查约 30 秒
你现在更接近哪一种状态?
完成上面三项后,才能把本课记为已验证。
资料来源
继续核对与延伸阅读
本课内容最近更新于 。
- MDN Web Docs↗reference · 核对日期 2026-08-23
- Web Content Accessibility Guidelines (WCAG) 2.2↗standard · 核对日期 2026-08-23