3.2 设计规约

笔记:
软件构造3-2笔记
软件构造3-2笔记
软件构造3-2笔记

summary

  • 规约就相当于开发者和用户之间的防火墙。

    • 使单独的开发成为可能:客户端可以自由的编写使用过程的代码,而不需要查看它的源代码:开发者可以自由的编写实现过程的代码,而不需要知道它如何被使用。
  • Safe from bugs

    • 好的规约清楚地记录了客户端和开发者所依赖的相互假设。bug通常来自于接口上的分歧,规约的存在有利于减少bug。
    • 在规范中使用机器检查的语言特性,比如静态类型和异常,而不仅仅是人类可读的注释,可以进一步减少bug。
    • 在静态检查、仔细推理、测试和代码评审的帮助下,结构良好、一致的规范可以最大限度的减少误解,并最大限度的提高我们编写正确代码的能力。
  • Easy to understand

    • 一个简短简单的规范比实现本身更容易理解,并且可以使其他人不必阅读代码。
  • Ready for change

    • 规约在代码的不同部分之间建立契约,只要他们继续满足契约的要求,允许这些部分独立的更改。
    • 适当弱的规范给开发者以自由,适当强的规范给用户以自由。
  • 声明式规约在实践中最有用。

  • 前置条件(它削弱了范围)使客户的工作更加困难,但是如果应用得当,他们是软件设计人员的一个重要工具,允许开发者做出必要的假设。

相关文章: