扫码阅读
手机扫码阅读

状态能够错的有多离谱??!!

60 2024-03-22

#
产品经理必聊的100个话题



第49期:状态可以有多混乱

在产品设计中,状态的设计是非常重要的一环。一个不好的状态设计可能会导致用户的困惑和误解。



重复的状态


Business Analysis





已申请待审批是同一个状态的两种表达,不应该重复出现。可以考虑将这两种状态合并为一个状态,例如“审核中”或“待处理”。这样可以使用户更容易理解和使用产品。


错误命名的状态


Business Analysis





错误: 采用动词原形、采用ing

正确:应该采用动词的过去式

审批 是个动作,用于表示状态就很模糊。

手续办理中 可能是来自 刚审批通过,也可能是某个步骤打回,并不能表征真实情况。

例如,一个错误的状态命名可能是“正在提交”或“提交中”,而正确的命名应该是“已提交”。这是因为动词原形或ing形式通常表示正在进行的动作,而不是已经完成的动作。因此,使用动词的过去式可以更准确地描述状态的完成情况


不区分对象的状态


Business Analysis





不区分对象的状态,即将不同对象的状态混合在一起。这可能会导致用户的困惑和误解,因此应该避免这种情况的发生。

例如:以发布作业和提交答案为例,它们是不同的对象,应该有独立的状态。发布作业的状态可以包括未发布和已发布,而提交答案的状态可以包括未提交、已提交、已通知讲师、已点评和已通知学员。这样可以确保每个对象的状态都清晰明确,并且不会混淆。

同时,状态应该有明确的Owner,即状态应该与特定的对象相关联,以便用户可以清楚地了解状态所涉及的对象。


主子状态混合


Business Analysis





出国手续的状态包括三个子状态:

机票

酒店

签证

这三个子状态应该独立存在,而不应该和主状态混合在一起。如果将它们混合在一起,将会导致状态混乱,用户无法清楚地了解每个子状态的状态。比如说机票已买,酒店已定,签证未签的话,如何在一个对象中表征。

对象
状态
出国手续
未申请
已申请
审批通过
审批驳回
已开始办理手续
手续已完成
对象
状态
机票
未购买
已购买
已退票
对象
状态
酒店
未预约
已预约
已付费
已退订
对象
状态
签证
未申请
已申请
已通过
未通过
已注销

多余的状态


Business Analysis





状态的设计应该遵循清晰、简洁、易于理解的原则。其中一个常见的错误是使用多余的状态,这可能会导致用户的困惑和误解,因此应该避免这种情况的发生。

一种常见的多余状态是使用“Not~”来表示状态的反向状态。例如,使用“Not完成”来表示“未完成”的状态。这样的状态设计可能会导致用户的困惑和误解,因为它们不是直观的状态。相反,应该使用直接的状态来表示状态的状态,例如“未完成”或“已完成”。

另一种常见的多余状态是使用中间状态来表示状态的过渡状态。例如,使用“正在处理”来表示“处理中”的状态。这样的状态设计可能会导致用户的困惑和误解,因为它们不是必要的状态。相反,应该使用直接的状态来表示状态的状态,例如“处理中”或“已处理”。

对象
状态
批注
作业
成果
未提交

已编辑
不需要这个中间状态,没有实质的业务作用。
已提交

未通知讲师
不需要这个状态,和已提交重复。
已通知讲师

未过期
不需要这个状态,前面的每个状态都是未过期。
已过期
不需要这个状态,当过期的时候会通过定时任务自动变更为已通知讲师。

时间相关的状态


Business Analysis





例如已过期。已过期的状态通常是通过定时任务来完成更新的,而不是实时更新的。

在某些情况下,过期状态需要根据时间来实时判断,而不是等待定时任务的更新。例如,对于某些需要及时处理的任务,过期状态需要立即更新,以便用户可以及时采取行动。在这种情况下,应该将过期状态包含在状态列表中,并确保它们可以及时更新。

同时,对于需要定时更新的过期状态,应该确保定时任务的时间设置正确,并且与用户的期望一致。如果定时任务的时间设置不正确,可能会导致过期状态的更新延迟或不准确,从而影响用户的体验。

最后需要注意的是:在时间相关的状态设计中,应该根据实际情况来确定是否需要将过期状态包含在状态列表中,并确保定时任务的时间设置正确。状态的命名应该尽可能简洁和清晰,避免使用过于复杂或晦涩的术语。

原文链接: http://mp.weixin.qq.com/s?__biz=Mzk0MzM2OTQzOA==&mid=2247484663&idx=1&sn=48415df494f78be15e244bb32610b982&chksm=c335b946f44230501f47b475acbbcb874c2e2cec37b8afc70e2292ae18fd975d83714af725d8#rd