hit软件构造课程总结【5】

5 Designing Specification
设计规约

1. 方法在编程语言中的作用

  • 方法是程序的“积木”,可以被独立开发、测试和复用。
  • 使用方法的客户端无需了解方法内部具体如何工作,这称为“抽象”。

2. 规约:编程中的沟通工具

  • 规约是程序与客户端之间达成的一致,明确双方的责任。
  • 规约就像一个“防火墙”,保护客户端不受方法内部细节的影响,也保护实现者不受客户端使用方式的影响。
  • 规约使代码的模块化和解耦成为可能,从而提高代码的可维护性和可扩展性。

3. 行为等价性

  • 不同的方法实现可以具有相同的行为,即它们对客户端的影响相同。
  • 行为等价性需要根据规约来判断,而不是仅仅根据代码实现。

4. 规约的结构

  • 规约由前置条件、后置条件和异常行为组成。
  • 前置条件是对客户端的约束,后置条件是对开发者的约束。
  • 如果前置条件满足,则后置条件必须满足。

5. 规约的分类和强度

  • 规约可以根据确定性、陈述性和强度进行分类。
  • 更强的规约意味着更严格的后置条件和更宽松的前置条件。
  • 强规约和弱规约各有优缺点,需要根据具体情况选择。

6. 设计好的规约

  • 好的规约应该是内聚的、信息丰富的、足够强、足够弱、使用抽象类型。
  • 规约应该清晰地描述方法的功能,并避免歧义。
  • 是否使用前置条件取决于检查参数合法性的代价和方法的适用范围。

7. 总结

  • 规约是软件构造中不可或缺的工具,它有助于提高代码的质量和可维护性。
  • 好的规约可以使代码更容易理解和修改,并减少错误的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值