1. status 还是 state

在写代码的时候,我经常会用 “状态” 这个字段,但是,看过很多代码之后,就会发现对于 “状态” 这个词有的人用的是 “state”,而有的人用的是 “status”,那么它们有区别吗?可以随便用吗?还是说有特别的场景对应,所以我就找了找,看到了一个不错的解释:

这个描述挺好理解,如果这个 “状态” 是可以进行变更的并且有迁移条件的短暂状态,那么就是 state,通过 state machine 来理解就好多了;而 status 则表示在特定时间,事物所处的状态,例如一项工作从 立项 这个状态 到 完工 这个状态,中间会持续一个可预期的时间,并且一般来说都是有一些潜在的顺序性的。

所以这么说:

What is the status of X? What sort of state is X in?

那么问题来了,http 状态码是 state 还是 status?这又怎么解释?

2. Megabyte 还是 MebiByte

  • Megabyte:MB,国际单位,106
  • MebiByte:MiB,国际电工委员会制定,220
  • Mebibyte

3. Repository 和 Registry

  • Repository:同一个镜像的不同版本
  • Registry:不同镜像的不同版本

4. Authentication 和 Authorization

5. Search 和 Query

两者都是表示查询的意思,但是一般来说:

  • query:在结构性的数据中查找,比较明确的查询条件,相对来说可以比较快给出答案
  • search:在非结构性数据中,或者比较模糊的查询条件,相对来说需要花费比较长的时间

  • Search vs Query

6. Fault 和 Failure

  • Fault:不正确的系统内部状态
  • Failure:系统不能够完成预期的任务