《程序员修炼之道 小工到大工》之注重实效的偏执
按照合约的设计
与计算机系统打交道很难,与人打交道更难,作为一个族群,我们花费在交往上的问题时间更长,在过去的几千年里,我们应用于编写软件的坦率的方案就是合约,
合约可一规定你的权利与责任,也规定对方的权力与责任此外,还有怪鱼任何一方没有遵守合约后果的约定。
DBC
为eiffel语言发展了按合约设计的概念。这是一种简单并且强大的技术
实现DBC
如果语言中不实现DBC,只能走这么远了。
语言支持
有内建的DBC 支持的语言自动编译器,你获得的最大的好处因为所有的代码库必须遵守他们的合约
DBC与早崩溃
通过早崩溃,在问题现场找到和诊断问题要容易很多
不变项的其他用法
为目前为止,我们已经讨论了适用于单个方法的前条件和后条件,以及应用于类中的不变项。