Unix哲学起源于Ken Thompson在早期关于如何设计一个小型但是有用而且服务接口清晰的操作系统的思考。 随着人们对如何使得Thompson设计发挥最大效力的学习,Unix文化随之诞生并成长,并从各种途径汲取养份。
Unix哲学并不是一个形式化的设计方法。它从不在理论上宣称可以生产出更好的软件。也不能妄想指望它在一个很短的期限里使用糟糕的项目管理和廉价程序员做出一个极俱创新而又可以信赖的软件。
1.模块原则:使用简洁的接口拼合简单的部件
2.清晰原则: 清晰胜于机巧
3.组合原则:设计时考虑拼接组合
4.分离原则: 策略同机制分离,接口同引擎分离
简洁原则:设计要简洁,复杂度能低则低
吝啬原则: 除非确无它法,不要编写庞大的程序
7.透明性原则:设计要可见,以便审查和调试
8.健壮原则: 健壮源于透明与简洁
9.表示原则: 把知识叠入数据以求逻辑质朴而健壮
10.通俗原则:接口设计避免标新立异
11.缄默原则:如果一个程序没什么好说的,就保持沉默
12.补救原则: 出现异常时,马上退出并给出足量错误信息
13.经济原则: 宁花机器一分,不花程序员一秒
14.生成原则: 避免手工hack,尽量编写程序去生成程序
15.优化原则: 雕琢前先得有原型,跑之前先学会走
16.多样原则:决不相信所谓“不二法门”的断言
17.扩展原则: 设计着眼未来,未来总比预想快