194得票13回答
什么是不变量?

这个词似乎在许多情景下都有应用。据我所理解,它指的是一个无法更改的变量。那常量/终值(该死的Java!)不正是为此而存在吗?

109得票3回答
Java中的类不变式是什么?

我在谷歌上搜索了这个主题,但除了维基百科外,我没有找到任何有用的文档或文章。 是否有人能用简单的话解释一下它的含义,或者向我推荐一些易于理解的文档呢?

42得票3回答
协变和逆变的简单示例

有人能为我提供简单的C#协变、逆变、不变和反协变的示例吗(如果存在这样的东西)。 到目前为止,我看到的所有示例都只是将某些对象转换为 System.Object。

42得票1回答
计算机术语中的先决条件、后置条件和不变量有什么区别?

我正在阅读《Java并发编程实战》这本书,并对以下术语感到有些困惑: 前置条件 后置条件 不变量 请问有人可以解释一下它们吗(如果可能的话,附带一个例子)?

36得票7回答
线性搜索的循环不变式

如Introduction to Algorithms(http://mitpress.mit.edu/algorithms)中所述,练习题陈述如下: 输入:数组 A[1..n] 和值 v 输出:索引 i,其中 A[i] = v 或如果 v 不存在于 A 中则为 NIL 编写 LI...

34得票2回答
不变量和验证规则之间有什么区别?

我经常在DDD中看到术语不变量(Invariants)。Dino Esposito在这里谈到了它。如果我查看.NET库,我会看到一个ValidationAttribute类。 不变量和验证规则是相同的吗?例如,我可以说只有当订单总额超过250美元时才提供50%优惠是一种不变量吗? 还是它们不...

30得票4回答
在Haskell中编写和检查不变量是否可行?

当我编写算法时,我通常会在注释中写下不变量。 例如,一个函数可能返回一个有序列表,而另一个函数期望列表是有序的。 我知道存在定理证明器,但我没有使用它们的经验。 我还相信聪明的编译器可以利用它们来优化程序。 因此,是否可以编写不变量并让编译器检查它们?

26得票3回答
在对象不变式中,我的代码有多自由?

我正在尝试演示Code Contracts中的不变式,并且想举一个字符串排序的例子。它在内部维护着一个数组,留有空余空间进行添加等操作-就像 List<T> 一样。当需要添加项时,它会将其插入到数组中等等。我想我有三个不变式: 计数必须合理:非负且最多与缓冲区大小相同 未使用部...

26得票2回答
C++11中,“移动自”对象的有效状态是什么?

我一直在努力理解C++11中的移动语义应该如何工作,但我很难理解一个被移动的对象需要满足什么条件。查看此处的答案并不能真正解决我的问题,因为我无法看出如何以明智的方式将其应用于pimpl对象,尽管有人认为移动语义非常适合pimpl。 我的问题最容易通过pimpl习惯用法进行说明,就像这样: ...

24得票2回答
我能否编写一个类型守卫来断言多个不变量?

我能写一个类型保护来断言关于一个或多个参数的子对象的某些内容吗? 伪代码可能如下所示: class C { a: number?; b: string?; function assertInitialized() : (this.a is number) and (...