务实的偏执
大约 1 分钟约 316 字
契约式设计
文档化及对主张进行检验是契约式设计(缩写为 DBC)的核心。
提示
前置条件
为调用这个例程,必须为真的是什么?例程的需求。一个例程永远不应该在前置条件被违反的时候被调用。传递良好的数据是调用者的责任。
后置条件
例程保证要做的是什么?例程完成时世界的状态。例程有后置条件这个事实,意味着能得出这样的结论——不允许无限循环。
类的不变式
从调用者的角度来看,类会确保该条件始终为真。在例程的内部处理期间,可以不遵守不变式,但是当例程退出并将控制权返回给调用者时,不变式必须为真。(注意,一个类不能给参与不变式的任何数据成员不受限制的写访问权限。)
通过契约进行设计
如果你订的契约是可以接受任何东西,并且承诺要回报整个世界,那么你就有很多代码要写!
提示
是不是这就是需要解耦?