程序员修炼之道 从小工到专家
基本工具
构建自己的工具库。 使用源码控制。 调试bug: 找到问题根源 可以快速**复现**bug。 代码跟踪。 向别人解释程序以找到问题所在。 找bug范围:先自己代码–>确定无误再找类库或系统问题。不要固执的认为自己的代码没问题。 不要假设,要验证。
注重实效的偏执
放弃写出完美软件的偏执。 进行防御性编程。 合约。规定代码的权力和责任,即圈定范围。 用文档(其他形式:断言,注解等)记载以下声明,并进行校验,是按合约设计(简称DBC)的核心所在。 前置条件 后置条件 类不变项 当代码发现某种被认为不可能的事情已经发生时,终止它。 断言式编程: 断言检查的是绝不应该发生的事情。 断言可能会有副作用,引入新的错误。 异常 异常表示即时的,非局部的控制转移,是一种级联的goto。 把异常当做处理逻辑。破坏了封装,通过异常处理,例程和它们的调用者被更紧密的耦合在一起。