计算机术语的前置条件,后置条件和不变性有什么区别

我正在阅读《实践中的Java并发性》一书,并对这些术语有些困惑:

  1. 前提条件
  2. 岗位条件
  3. 不变量

有人可以给我解释一下(如果可能的话,举个例子)?

回答:

如果您不懂这些简单的想法,您将在编写Java时遇到很多问题,尤其是多线程代码:

  1. 前提条件是在调用方法之前必须满足的条件。该方法告诉客户“这就是我对您的期望”。
  2. 后置条件是方法完成后必须满足的条件。该方法告诉客户“这是我保证为您做的事”。
  3. 不变的东西总是真实的,不会改变。该方法告诉客户“在您致电给我之前,如果这是真的,我保证做完后仍然会是真的”。

它们都是“按合同编程”思想的一部分。它是由一个名叫CAR

Hoare的人发明的。Bertrand Meyer

在其周围构建了一种称为Eiffel的面向对象的语言。没有人使用太多,但由于这个原因,他在阳光下度过了一天。

埃菲尔不是很受欢迎。在我撰写本文时,有超过400万个关于SO的问题,但其中只有32个被标记为“埃菲尔铁塔”。

更新:2016年6月29日有11,966,392个关于SO的问题。其中只有92个被标记为“埃菲尔铁塔”。埃菲尔(Eiffel)问题的百分率大致保持恒定在〜0.00077%。

我的立场是正确的-谢谢你,烈火企鹅。我已经更新了答案。

以上是 计算机术语的前置条件,后置条件和不变性有什么区别 的全部内容, 来源链接: utcz.com/qa/402291.html

回到顶部