弱前置条件和强后置条件问题?
Weak precondition and strong postcondition problems?
上次考试有题,没能理智回答
问题是“太弱前提可能会引起什么问题?”
另一个问题是“太强后置条件可能会引起什么问题?”
如何着手回答这个问题?我试图解释被评估为真值的弱前置条件,可能不足以暗示将强后置条件设为真,但似乎还不够。
我想知道,这个问题的正式答案是什么,实际上是两个简短的问题。
"弱前提会带来什么问题?"
“强后置条件会产生什么问题?”
弱前置条件和强后置条件都使规范更强。过于强大的规范会降低规范(接口)实施者的灵活性。这导致更复杂和更昂贵的实现。此外,并非所有客户甚至可能都需要强度,因此复杂性和费用可能会浪费掉。
作为一个简单的例子,一个规范可能承诺return一个排序的结果列表。这会阻止实现使用有效的表示形式,例如哈希 table,并且客户端甚至可能不需要对结果进行排序。
上次考试有题,没能理智回答
问题是“太弱前提可能会引起什么问题?”
另一个问题是“太强后置条件可能会引起什么问题?”
如何着手回答这个问题?我试图解释被评估为真值的弱前置条件,可能不足以暗示将强后置条件设为真,但似乎还不够。
我想知道,这个问题的正式答案是什么,实际上是两个简短的问题。
"弱前提会带来什么问题?" “强后置条件会产生什么问题?”
弱前置条件和强后置条件都使规范更强。过于强大的规范会降低规范(接口)实施者的灵活性。这导致更复杂和更昂贵的实现。此外,并非所有客户甚至可能都需要强度,因此复杂性和费用可能会浪费掉。
作为一个简单的例子,一个规范可能承诺return一个排序的结果列表。这会阻止实现使用有效的表示形式,例如哈希 table,并且客户端甚至可能不需要对结果进行排序。