软件设计的哲学
设计原则总结
- 复杂性是增量的:你必须在细枝末节上下功夫
- 能工作的代码是不够的
- 不断进行小额投资,改进系统设计
- 模块应该是深的
- 接口的设计应该使常见情况尽可能简单
- 模块的简单接口比简单实现更重要
- 通用模块更深
- 将通用代码与专用代码分开
- 不同层应有不同抽象
- 减低复杂性
- 将错误定义为不存在
- 设计两次
- 注释应该描述代码中不显而易见的内容
- 软件的设计应该便于阅读,而不是便于编写
- 软件开发的增量应该是抽象概念,而非特性
- 把重要的东西和不重要的东西分开,强调重要的东西
一个人的首要责任,就是要有雄心。雄心是一种高尚的激情,它可以采取多种合理的形式。
—— 《一个数学家的辩白》
设计原则总结