目标
规约,前置后置条件,欠定规约、非确定规约、陈述式、操作式规约、规约的强度及其比较
规约
作用
- 给自己和别人写出设计决策:如final、数据类型定义
- 作为契约,服务端与客户端达成一致
- 调用方法时双方都要遵守
- 便于定位错误
- 解耦,无需告诉客户端具体实现,变化也无需通知客户端,扮演防火墙角色
- 判断行为等价性
内容
- 输入输出的数据类型
- 功能和正确性
- 性能
行为等价性
站在客户端视角看一个行为是否具有等价性。如果两个函数都符合同一个Spec,则他们等价
规约,前置后置条件,欠定规约、非确定规约、陈述式、操作式规约、规约的强度及其比较
站在客户端视角看一个行为是否具有等价性。如果两个函数都符合同一个Spec,则他们等价