- 设计规约
目标:方法的规约
前置/后置条件
欠定规约,非确定规约
陈述式、操作式规约
规约强度及其比较
如何写出好的规约
- “方法”是程序的“积木”,可以被独立开发、测试和复用,需要抽象
代码中蕴含的“设计决策”:给编译器度
注释中蕴含的“设计决策”:给自己和别人读
规约给“供需双方”都确定了责任,在调用时候双方都要遵守。
- 前置条件和后置条件
前置条件:对客户端的约束,在使用方法时必须满足的条件
后置条件:对开发者的约束,方法结束时必须满足的条件
契约:前置条件满足,后置条件必须满足
可以加入@requires 和 @ effects
- 规约的评价
规约的确定性;规约的陈述性;规约的强度
前置条件和后置条件的切分考虑
强的规约,放松的前置条件和更严格的后置。
- 欠定规约:同一个输入有多个输出
非确定规约:同一个输入,多次执行时的输出可能不同
操作式规约:伪代码
声明式规约:没有内部实现描述,只有“初-终”
例子
/**
*
*
*/
本文探讨了方法设计中的规约重要性,包括前置条件和后置条件,作为确保代码质量和可维护性的关键要素。前置条件约束调用者,后置条件约束开发者,两者共同构成契约。文章强调了规约的确定性、陈述性和强度,并提倡使用@requires和@effects注解。同时,讨论了欠定和非确定规约的情况。通过实例说明了如何写出好的规约,以提升代码的清晰度和可预测性。
1674

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



