State 和 Status 傻傻分不清

在软件开发的过程中,
我们经常会遇到需要表示状态的时候,
而此时我们会自然的想到 state status,
巧了,是这两个词的中文意思还是一毛一样的❗❗❗
那么问题来了,到底该使用哪一个?
先来看一下两个单词的英文解释:

State:
the particular condition that someone or something is in at a specific time.
Status:
the situation at a particular time during a process.
State is used to describe a stage in a process (e.g. pending/dispatched).

Status is used to describe an outcome of an operation (e.g. success/fail).
Status is a final (resulting) State.

大概意思是,
state 表示的是一种状态,
这种状态可以是独立的,
也可以是一整个连续的状态集合。
而 status 是值特定时期的状态,
可以把 status 理解为 state 中的某一个状态。
(为什么+s 呢?英文构词有时候很任性)

举几个开发中比较常见的例子,
如果要定义 enum 这时应该使用 state,
它表示的就是一套状态集合,
而 enum 的内容就应该使用 status,
因为对每一个对象的来说,
status 在某一时间就是固定的。

enum state {
  STATUS_A,
  STATUS_B,
};

框架中的术语,
状态机定义的是 state machine,
这里也不是具体指明到底是什么状态,
只是说我是一个状态机用来管理状态,
而 response 返回码使用的是 status,
不管这个返回码是多少,它都是指定的一个状态。

一言以蔽之,
泛泛的指状态或是用来表示管理状态,
状态的集合时,我们都使用 state,
而真正表示某个具体的状态的时候我们使用 status。

你可能感兴趣的:(c语言)