一些语义相似单词的辨析(validate / verify / check 与 state / status)

validate / verify / check
validate,可以翻译为“校验”,一般用于有“标准答案”的场景。比如登录表单里输入手机号,我们可以校验用户输入的字符串是不是一个合理的手机号(比如是不是11位,是不是已知的号段)。这里校验的标准是“合理的手机号格式”,这是一个标准答案。validate 的规则一般不依赖于外部知识或信息。validate 的结果一般是正确或错误。validate 是一个动词,指校验的过程。valid/invalid 是相应的形容词,validation 是动作的名词。

verify,可以翻译为“验证”,一般用于没有“标准答案”的场景。比如用户输入的手机号,是否是真实存在的、有人在用的手机号?这个是无法在不依赖于外部信息的情况下作出判断的。外部信息有很多种,比如可以问电信公司,这个号码有没有人用,比如可以给用户发一条短信,看他有没有收到。但注意,即使有了这些外部信息,这也同样不能算是“标准答案”。比如验证码这个东西,有可能用户瞎猜了一个,猜对了(虽然概率小,但仍然是可能的)。

validate 的过程,一般是给定一个具体的规则,按照规则去对比就可以出结果。verify 的过程往往是一个试验的过程。比如瑞德西韦这个药对新冠肺炎有没有疗效?我们需要做临床试验去验证一下。verify 的结果,一般来说不是严格的 true/false,而是大概率true/大概率false。

check 可以翻译为查看、检查,返回的结果未必是 true/false。门外有一声巨响,你去查看一下是什么情况。试卷做完了,自己检查一遍有没有粗心的地方(自己检查,不知道正确答案,考试间也不能问老师,所以这里既不是 validate,也不是 verify)。check 也可以用于“对比”,比如考完试了,老师把答案发下来,大家自己对比一下,这也叫 check。

state / status
state,有些人可能听说过“状态机”这个词,state machine。一般指在一个程序(process)中,会有多个阶段/节点(stage),每一个节点就是一个 state。比如在淘宝上购物,下单后会有这几个节点:待付款、待发货、已发货(待揽收)、(快递)运送中、投递中、已投递、申诉中、退款中,等等,注意,这里面的申诉中、退款中不一定是在最后,在任何一个环节都可以变成申诉中,任何一个环节都可以发起退款。一般来说,state 之间是可以互相切换的(当然有些 state 之间会有切换约束,比如只能从待发货变为已发货,而不能反过来)。

status,一般描述一种结果(outcome),比如 成功、失败。status 并不强调有程序(process)。比如,API 请求的结果是成功还是失败,这里可以用 status(HTTP的返回码就叫 status code)。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值