程序代码中,怎么区分status和state?
State 表达的是形态,而 Status 表达的是从一种形态转换成另一种形态的过程中,那些有显著特征的离散中间值。
还是说那个旅馆房间的例子,一个房间可以是婚房、普通房、豪华总统房,这些都是用 State 来表达。把一个普通房改造成豪华总统房,这个过程就有设计、材料准备、工人就位、施工、验收等步骤,这个时候就用 Status 来表达。
那么,区分点在哪?区分点就在于一个房间当用State 描述时,它是个彼此独立的枚举值,可以没有前后顺序的在婚房、普通房、豪华总统房之间来回转换。而当使用 Status 时,是存在前后状态依赖关系的一个变化量,不能没有做设计就施工,也不能没施工就验收。
所以,State 和 Status 的核心区别,就是它们的枚举值之间是否有依赖关系,没有依赖关系的用 State,有依赖关系的用 Status。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步