知识卡片

契约划清责任

普通读书笔记卡 · 1878

内容

契约式设计用前置条件、后置条件和不变式明确双方责任。接口不只是函数签名,还应说明调用者必须保证什么、被调用者承诺什么,模糊地带越少,缺陷越早暴露。

参考来源

- 位置:《程序员修炼之道:通向务实的最高境界(第2版)》第4章《务实的偏执》话题23「契约式设计」(源文件:_epub-src/text/part0013_split_001.html) - 结论依据:原文用前置条件、后置条件、类的不变式定义契约式设计,明确调用者与被调用者各自的责任边界,直接支持卡片论点。 - 原始内容:"契约规定了你的权利和责任,同时也规定了对方的权利和责任。……前置条件:为调用这个例程,必须为真的是什么?……后置条件:例程保证要做的是什么?……提示37 通过契约进行设计。"