5 Designing Specification
Spec:是一种契约,规定程序与客户端之间达成的一致
给“供需双方”都确定了责任,在调用的时候双方都要遵守。
为什么要写Spec?
1.很多bug来自于双方之间的误解
2.不写下来,那么不同开发者的理解就不同
3.没有规约,难以定位错误
4.精确地规约有助于区分责任
5.客户端无需阅读调用函数的代码,只需要理解spec即可
SPec的详细内容:
1.前置条件:对客户端的约束,在使用方法时必须满足的条件
2.后置条件:对开发者的约束,方法结束时必须满足的条件
3.契约:如果前置条件满足了,后置条件必须满足。
如果前置条件不满足,则方法可以做任何事情。
如何比较两个规约?以判断是否可以用一个规约去替换另一个?
什么样的规约强度更强?
前置条件弱,后置条件更强(要求的少,做的多)

注意:比较后置条件变强变弱,是要在满足前置条件的基础上。


Spec是一种规定程序与客户端交互的契约,防止因误解导致的bug,明确双方责任。它包含前置条件(客户端约束)和后置条件(开发者约束)。比较两个规约时,关注在满足前置条件下的后置条件强度。更强的规约可能前置条件更弱,但后置条件更强。

被折叠的 条评论
为什么被折叠?



