【软件构造】规约

首先说一下规约的概念: 规约是软件构造中一种常用的手段,它规定了每个方法的作用,是在编程之前对各部分模块的总体设计。规约约定了责任范围,写代码的人要负责的责任都写在规约中,清晰且容易定位错误,方便管理,这就能够一定程度避免因对功能的误解而造成的bug。除此之外,在客户端client使用某个方法时,不需要去费劲地读代码理解代码细节,只需要理解规约就可以了。这还意味着规约扮演着隔离者的角色,方法中具体实现过程的变化无需通知客户端或其他调用者,可以提高代码迭代的效率。

规约分为前置条件和后置条件。前置条件就是程序运行之前应该满足的条件,后置条件就是程序运行之后应该满足的条件。前置条件是对于用户端程序员来说的,后置条件是对于开发端程序员来说的。规约就像是一个用户端和开发端之间契约,双方都受到一定的约束。如果前置条件不满足的话,那么后置条件也不需要满足,方法可以做任何事情。这里其实蕴含了一个思想,那就是如果前置条件没有被满足,那么说明客户端出现了bug,虽然开发者没有责任去提醒客户端存在bug,但是也可以编写代码使前置条件不满足时能够帮助客户端更快地找到bug。关于参数,如果后置条件没有声明可以更改输入参数,就不能将其改变,一般轻易不会改变输入参数。

最后说一下规约的强弱。规约R'相对于R,如果前置条件更弱,后置条件更强,则规约更强。因为前置条件更弱说明它能处理更多的输入,对用户端的要求更低;后置条件更强说明它的返回更加具体,对开发端的要求更高。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值