模块设计:先证明必要性,再组织信息
rule_id: R-MODULE-DESIGN-01 category: Design status: active owner: 主设计会话 / 项目架构负责人 scope: 小程序与后台的模块规划、功能增删、信息架构、导航、页面布局及设计审查 updated: 2026-09-29
1. 核心原则与触发
先明确用户需要作出的判断或完成的任务,再决定功能、信息和页面。不得先堆组件、指标和入口,再找内容填进去。
开始模块设计或重构前必须读取本规则。设计规划、交互原型阶段同样适用,不以已存在REQ为前提。微调文案或样式只检查受影响的原则,不要求每次重做整个模块。
本规则由用户在2026-09-29确认并要求持久化,源于后台概览与导航迭代。它是设计约束,不新增Runtime阶段、审批门禁或需求锁定;不发布Foundation,也不改变架构中的业务事实、权限或资金政策。
2. 先判断功能是否必要
设计者应先回答,而不是把问题原样抛给用户:
- 谁在什么情况下打开它? 区分日常检查、任务执行、异常处置和偶尔维护,不能只写“运营人员使用”。
- 他最想知道或完成什么? 用一句话确定主任务;包含多个无关目标时,重新划分模块或页面职责。
- 看完信息可以作出什么决定? 每项数据回答“所以呢”:是否影响选择、调度、办理、核验或恢复?
- 没有这项功能,实际工作在哪里受阻? 指出无法判断、遗漏、重复录入、跨页拼查或无法续办等后果;说不清则标为待验证,不按后台惯例默认加入。
- 完成任务需要的信息与动作是否齐全? 包括来源、正常结果以及缺资料、无权限、失败、未知和处理中时的下一步;不能只画成功路径。
产出应是有理由的功能范围,不是菜单清单。必要但缺来源或契约的能力应明确待补,不以删掉它获得“简洁”;未经验证的候选也不应伪装成已批准业务。
3. 再决定意群与导航
| 判断问题 | 设计选择 |
|---|---|
| 哪些信息必须同时看,才能完成一个判断? | 合成一个意群,避免跨页记忆与比较;组合展示不改变事实Owner |
| 是否必须先掌握全局,才能决定下一步? | 才设置概览;否则侧栏直接进入记录、内容或任务操作 |
| 是同一问题、同一任务的不同观察面吗? | 使用顶部Tab,名称说明视角;不能仅因同一技术模块就塞进一排Tab |
| 是不同目标、不同办理过程吗? | 拆为独立任务,放侧栏;折叠导航组不必另造一个目录页 |
| 点击具体页面后,是否只是看到另一堆入口? | 取消没有增加事实或判断价值的中间层;真正的对象目录不等于功能入口墙 |
| 进入具体记录后,是否还需要跳其他列表? | 优先保持当前对象上下文;关联对象明确身份与去向,返回保留筛选和定位 |
| 哪些内容是说明、依据或历史? | 次一级呈现或按需展开;阻断、风险与未知结果不能因此隐藏 |
不能为了减少菜单,把所有内容塞成长页面;也不能为了减少点击,混合身份、权限或不同业务的执行结果。导航深度应由任务需要解释,不以固定层数或页面数作为成绩。
4. 页面重点必须有信息价值
被强调的内容必须值得用户看一眼,且看完能获得结论或下一步依据。
- 位置、面积、明暗和字号共同分配注意力,不是每个模块都配置同样的大数字、深色摘要和图表。
- 概览支持组合判断;处理页支持定位与办理;维护页支持准确编辑。允许三者有不同密度和结构。
- 数字需有对象、单位、日期、范围、状态及必要构成;明确人数与单数、计划与实际、确认与交付。不是每项都常驻展开,但不能靠猜。
- 区分无记录、来源缺失、结果未知与零值。合成场景明确标识,统计来自可核对记录,不维护独立装饰计数。
- 标题负责定位,优先简短业务名称,如“猪肉到货”“配送时段”。事实负责回答,不用问句、口号或旁白重复解释明显内容。
- 信息密度是可理解、可用于决策的信息量,不是文字、边框、卡片或按钮数量。删描述不能删必要口径、异常解释和恢复路径。
- 图表必须让重要关系比列表或短句更容易理解;否则用更直接的表达,不为“像Dashboard”而画图。
反例:“8项异常”占据视觉中心却不解释类型、对象和影响,吸引了注意却没有提供判断依据。改进应展示异常构成与业务影响,或将该数字降为辅助信息,而不只是换颜色和字号。
5. 模块设计卡
在模块现有设计文档中记录,避免新建重复事实源。完整模块梳理先写八项,再展开页面;局部调整引用已有卡并补受影响项。
| 项目 | 必须说清 |
|---|---|
| 使用者与触发场景 | 谁、何时、为什么进入 |
| 唯一主任务 | 这一页主要负责什么,不负责什么 |
| 需要作出的判断 | 看完后可以决定或完成什么 |
| 必要信息及来源 | 每项如何支持判断,来源与缺失如何表达 |
| 必要动作与异常出口 | 正常、拒绝、失败、未知及未完成如何继续 |
| 应同时呈现的意群 | 哪些内容一起看才完整,主次如何分配 |
| 侧栏、Tab与详情边界 | 为什么合并或拆分,为什么需要或不需要概览 |
| 删去与保留的理由 | 删除了什么冗余,保留了什么必要能力及待验证项 |
卡片是推导依据,不是凑齐字段的表格。无法回答的地方保留缺口;业务价值或权限存在不可推导的分歧时,提出有取舍的建议请用户判断。
6. 自审与体验验证
完成设计后反问:
- 用户不读设计说明,能否知道本页的主任务?
- 目光首先落下的位置,是否给了足够信息,而不只是一个醒目的数字?
- 用户能否看清“现在什么情况、需要做什么、做完会怎样”?
- 合并或精简是否反而增加跨页拼查、隐藏风险、删除必要功能?
- 同一对象在概览、列表、详情和客户下钻中的数据是否一致?日期、范围、去重与未知口径是否一致?
- 在实际视口、真实渲染和有代表性的空态、异常、长内容下,层次是否仍成立?不能仅凭代码或小样本截图宣布全模块完成。
评审时先说明希望验证的体验,再让用户给第一眼感受。反馈用来检验任务与注意力假设,不机械转为局部样式指令;设计者负责整体取舍。
最终标准:留下的每一项,都能解释为什么在这里;被强调的每一处,都能兑现用户投入的注意力。
7. 关联与维护
规则正文只在本文件维护;AGENTS与设计入口只链接,不复制另一份会逐渐分歧的检查表。