标签:后置 规约 笔记 学习 满足 条件 欠定 前置条件 spec
- 设计规约
目标:方法的规约
前置/后置条件
欠定规约,非确定规约
陈述式、操作式规约
规约强度及其比较
如何写出好的规约
- “方法”是程序的“积木”,可以被独立开发、测试和复用,需要抽象
代码中蕴含的“设计决策”:给编译器度
注释中蕴含的“设计决策”:给自己和别人读
规约给“供需双方”都确定了责任,在调用时候双方都要遵守。
- 前置条件和后置条件
前置条件:对客户端的约束,在使用方法时必须满足的条件
后置条件:对开发者的约束,方法结束时必须满足的条件
契约:前置条件满足,后置条件必须满足
可以加入@requires 和 @ effects
- 规约的评价
规约的确定性;规约的陈述性;规约的强度
前置条件和后置条件的切分考虑
强的规约,放松的前置条件和更严格的后置。
- 欠定规约:同一个输入有多个输出
非确定规约:同一个输入,多次执行时的输出可能不同
操作式规约:伪代码
声明式规约:没有内部实现描述,只有“初-终”
例子
/**
*
*
*/
标签:后置,规约,笔记,学习,满足,条件,欠定,前置条件,spec 来源: https://blog.csdn.net/qwertjkll/article/details/118558306
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。