软件构造感悟之设计规约

规约在编程中起到注释和文档作用,如Java的/**...*/,Python的...。它包含函数功能、参数和返回值说明。先写规约再实现,客户端只看规约即可理解。前置条件约束客户端,后置条件约束开发者,满足特定条件可替换函数,提高要求但简化客户端使用。
摘要由CSDN通过智能技术生成

设计规约 {ignore=true}

1. 规约

规约在不同语言中有不同的写法,比如在Java中,规约由/** ... */包裹,而在Python中,规约由""" ... """包裹。

规约的作用是对代码进行说明,比如对函数的功能进行说明,对类的作用进行说明等等。

通常,我们在规约中记录函数的功能,参数,返回值等等。

我们的实现围绕着规约进行,即先写规约,再实现规约。

客户端无需阅读调用函数的代码,只需理解spec即可。

2. 规约结构

  • 前置条件:对客户端的约束,在使用方法时必须满足的条件。
  • 后置条件:对开发者的约束,方法结束时必须满足的条件。
  • 契约:如果前置条件满足了,后置条件必须满足。

如果 S 1 S_1 S1 的前置条件弱于 S 2 S_2 S2 的前置条件,且 S 1 S_1 S1 的后置条件强于 S 2 S_2 S2 的后置条件,则可以用 S 1 S_1 S1 替换 S 2 S_2 S2

S 1 S_1 S1 强于 S 2 S_2 S2,相当于对开发者提出了更严格的要求,但是对客户端的要求更宽松。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值