软件构造中对规约的理解与总结

规格说明是团队开发的关键,是分配责任的基础。规格说明是实现者和使用者之间的一种契约,实现者有责任满足契约,使用者可以信赖契约。准确的规格说明利于确定错误的位置和责任,客户端不需要阅读代码,通过说明了解程序。

规格说明给了实现者实现的自由,在保证约定下,可以自由修改实现。 通过在说明中增加对输入的限定,省略掉耗时的正确性检查工作,提升效率,保证输入正确性的责任由调用者承担。

如果我想写一个程序,我不能仅仅通过阅读规范来完成。不过,它给了执行者很大的自由。通常,我们希望我们的规范在与用户有关的点上是精确的,但是在与实现者有关的点上是模糊的。这样,用户可以得到编写程序所需的保证,但也给了实现者根据自己的特定领域调整实现的自由。

例如,Java 语言规范没有提到任何关于垃圾收集的内容。它只定义了什么时候可以访问对象,什么时候不可以访问对象,它还定义了您可以创建新的对象。内存分配是如何工作的,垃圾收集器是如何工作的,无论是引用计数、跟踪还是基于区域的收集器等等,所有这些都被忽略了,因此不同龛位的不同实现可以使用不同的垃圾收集器实现,同一龛位的不同实现可以相互竞争。

常见规约要求包含的要素:

1.包规约:

Executive summary 执行摘要,OS/Hardware Dependencies 操作系统/硬件相关性References to any external specifications 引用任何外部规范

2.类/接口规约:

Executive summary 执行摘要,OS/Hardware Dependencies 操作系统/硬件相关性References to any external specifications 引用任何外部规范,Allowed Implementation Variances 允许的实现差异 ,Security Constraints 安全约束 ,Serialized Form 连载表格,References to any External Secifications 任何外部部分的参考资料

3.方法规约:

Expected Behavior 预期行为 ,State Transitions 状态转换,Range of Valid Argument Values 有效参数值的范围 ,Null Argument Values 空参数值 ,Range of Return Values 返回值的范围 ,Algorithms Defined 定义的算法 ,OS/Hardware Dependencies 操作系统/硬件相关性 ,Allowed Implementation Variances 允许的实现差异 ,Cause of Exceptions 异常及其原因 ,Security Constraints 安全约束 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值