《TAOUP》读书笔记
我没有写错,本文所记述的不是 Knuth 的那本举世瞩目的 TAOCP(计算机程序设计艺术),而是 ESR 所写的 TAOUP,即 The Art of UNIX Programming(UNIX 编程艺术)。
哲学
Unix 的设计哲学总体上可以概括为以下几点:
- 模块原则:使用简洁的接口拼合简单的部件
- 清晰原则:清晰胜于机巧
- 组合原则:设计时考虑拼接组合
- 分离原则:策略同机制分离,接口同引擎分离
- 简洁原则:设计要简洁,复杂度能低则低
- 吝啬原则:除非却无它法,不要编写庞大的程序
- 透明性原则:设计要可见,以便审查和调试
- 健壮原则:健壮源于透明与简洁
- 表示原则:把知识叠入数据以求逻辑质朴而健壮
- 通俗原则:接口设计避免标新立异
- 缄默原则:如果一个程序没什么好说的,就沉默
- 补救原则:出现异常时,马上退出并给出足够错误信息
- 经济原则:宁花机器一分,不花程序员一秒
- 生成原则:避免手工hack,尽量编写程序去生成程序
- 优化原则:雕琢前先要有原型,跑之前先学会走
- 多样原则:决不相信所谓“不二法门”的断言
- 扩展原则:设计着眼未来,未来总比预想来得快
所有的 Unix 哲学浓缩为一条铁律就是 KISS 原则,即 Keep It Simple, Stupid!