一,引用

1,UNIX传奇(下篇)

2,[维]Unix哲学



二,1个


keep it simple, stupid 保持简单,笨拙



三,3条


Write programs that do one thing and do it well.程序应该只关注一个目标,并尽可能把它做好

Write programs to work together.让程序能够互相协同工作

Write programs to handle text streams, because that is a universal interface.应该让程序处理文本数据流,因为这是一个通用的接口



四,5个特点


Everything (including hardware) is a file所有的事物(甚至硬件本身)都是一个的文件。 

Configuration data stored in text以文本形式储存配置数据。

Small, single-purpose program程序尽量朝向小而单一的目标设计

Avoid captive user interfaces尽量避免令人困惑的用户接口

Ability to chain program together to perform complex tasks将几个程序连结起来,处理大而复杂的工作。



五,9条


Small is beautiful. 小即是美

Make each program do one thing well. 让程序只做好一件事。

Build a prototype as soon as possible. 尽可能早地创建原型。

Choose portability over efficiency. 可移植性比效率更重要。

Store data in flat text files. 数据应该保存为文本文件。

Use software leverage to your advantage 尽可能地榨取软件的全部价值。

Use shell scripts to increase leverage and portability. 使用shell脚本来提高效率和可移植性。

Avoid captive user interfaces. 避免使用可定制性低下的用户界面。

Make every program a filter. 所有程序都是数据的过滤器。



六,17条原则

(1)模块原则:使用简洁的接口拼合简单的部件

(2)清晰原则:清晰胜于技巧

(3)组合原则:设计时考虑拼接组合

(4)分离原则:策略同机制分离,接口同引擎分离

(5)简洁原则:设计要简洁,复杂度能低则低

(6)吝啬原则: 除非却无他法,不要编写庞大的程序

(7)透明性原则: 设计要可见, 以便审查和调试

(8)健壮原则: 健壮源于透明和简洁

(9)表示原则: 把知识叠入数据以求逻辑质朴而健壮

(10)通俗原则: 接口设计避免标新立异

(11)缄默原则: 如果一个程序没有什么好说的,就沉默

(12)补救原则: 出现异常时候, 马上退出并给出足够错误信息

(13)经济原则: 宁花机器一分, 不花程序员一秒

(14)生成原则: 避免手工hack , 尽量编写程序去生成程序

(15)优化原则: 雕琢前, 先要有原型, 跑之前先学会走

(16)多样原则: 绝不相信所谓不二法门的断言

(17)扩展原则: 设计着眼未来, 未来总是比预想来得快

一,引用
二,1个
三,3条
四,5个特点
五,9条
六,17条原则
 ©2017 by KuaFu. Powered by Django