最近阅读了《程序员的修炼之道:从小工到专家》第四章:“注重实效的偏执”首先我明白了一个人的精力是有限的,不可能写出完美的软件,所以

我们会对自己编写的代码可能出现的错误书写另外的代码进行处理。我们要明确每个软件要做的事,规定每个方法应该发挥的作用,要控制好可能

影响每个方法的结果的因素。我明白了要通过合约进行设计,并对输入方法的参数进行控制,要在代码中加入断言进行方法用真判断,当问题发生

时,能够找到出错原因。我了解不变项的重要性以及语义不变项的概念。当使用资源完毕时,要记得释放,不然程序可能会出现读写异常等错误,

分配资源要有始有终。我还明白了如何在一些语言分配资源,还明白了要检查配平。

 什么是正确的程序?不多不少,做它声明要做的事情的程序。用文档记载这样的声明,并进行校验,是按合约设计(简称DBC)的核心所在。 软件

系统中的每一个函数和方法都会做某件事情。在开始做某件事情之前,例程对世界的状态可能有某种期望,并且有能力称述系统结束时的状态,Meyer

这样描述这些期望和称述:1、前条件——为调用例程必须为真的条件,例程的需求。违反前条件时,例程不应被调用。传递好数据是调用者的责任,

例如,一个长期运行的,对请求提供服务的程序,很可能会在其主处理循环的顶部的地方等待下一个请求的到达。