spec学习笔记

  1. 设计规约

目标:方法的规约

前置/后置条件

欠定规约,非确定规约

陈述式、操作式规约

规约强度及其比较

如何写出好的规约

  1. “方法”是程序的“积木”,可以被独立开发、测试和复用,需要抽象

代码中蕴含的“设计决策”:给编译器度

注释中蕴含的“设计决策”:给自己和别人读

规约给“供需双方”都确定了责任,在调用时候双方都要遵守。

  1. 前置条件和后置条件

前置条件:对客户端的约束,在使用方法时必须满足的条件

后置条件:对开发者的约束,方法结束时必须满足的条件

契约:前置条件满足,后置条件必须满足

可以加入@requires 和 @ effects

  1. 规约的评价

规约的确定性;规约的陈述性;规约的强度

前置条件和后置条件的切分考虑

强的规约,放松的前置条件和更严格的后置。

  1. 欠定规约:同一个输入有多个输出

非确定规约:同一个输入,多次执行时的输出可能不同

操作式规约:伪代码

声明式规约:没有内部实现描述,只有“初-终”

例子

/**

*

*

*/

上一篇:tp5 商品模型的添加展示


下一篇:ECK部署cluster