0

在上次考试中,我有问题,我无法理智地回答。

问题是“前提条件太弱可能会出现什么问题?

另一个问题是“后置条件太强会导致什么问题?

如何回答这个问题?我试图解释弱前置条件评估为真,可能不足以暗示强后置条件为真,但似乎还不够。

我想知道,什么是正式的理智答案,实际上是两个简短的问题。

“前置条件弱会出现什么问题?” “强后置条件会带来什么问题?”

4

1 回答 1

0

弱前置条件和强后置条件都使规范更强大。过强的规范会降低规范(接口)实现者的灵活性。这导致更复杂和更昂贵的实现。此外,并非所有客户都可能需要强度,因此可能会浪费复杂性和费用。

作为一个简单的例子,一个规范可能会承诺返回一个排序的结果列表。这会阻止实现使用诸如哈希表之类的有效表示,并且客户端甚至可能不需要对结果进行排序。

引文:来自http://courses.cs.washington.edu/courses/cse331/的幻灯片。

于 2022-01-10T16:32:41.943 回答