UNIX编程设计原则

Unix诞生与1969年,可一个可以改变21世纪甚至更远的未来的操作系统问世,至少现在的Linux是基于Unix的设计哲学。unix汇聚了很多黑客的智慧,他是一个开放,自由,KISS,单一的系统。

下面原则整理自《Unix编程艺术》

1.模块原则

使用简洁的接口拼合简单的部件。

2.清晰原则

清晰胜于技巧。(要让别人看得懂)

3.组合原则

设计时考虑拼接组合,在输入输出方面,Unix极力提倡采用简单、文本化、面向流、设备无关的格式。因此一般在Unix下多数程序都尽可能采用简单过滤器的形式,将一个输入的简单文本流处理为一个简单的文本流输出。

4.分离原则

策略同机制(实现?)分离,接口同引擎分离。

5.简洁原则

设计要简洁,复杂度能低则低。

6.吝啬原则

除非确无他法,不要编写庞大的程序。

7.透明性原则

设计要可见,以便审查和调试。要一眼就能看出软件是在做什么以及怎样做的。显见性指程序带有监视和显示内部状态的功能(这一点我最缺乏了,总是只顾着实现功能了,不曾想这也应当属于程序的一部分)。包括调试选项的设置,都应在设计时考虑进去。

8.健壮原则

健壮源于透明和简洁。

9.表示原则

复杂的数据,尽量用数组初始化表示,不要把复杂的选择逻辑丢进程序里。(遇到过这样的编程场景,比如50个条件选择,不要用switch或if选择语句,用数组或其他数据结构,把这些条件存下来,降低代码复杂度和行数)

10.通俗原则

接口设计避免标新立异。越通俗,越流行,越好。

11.缄默原则

即程序只做该做的事,不做多余的事,默默工作

12.补救原则

出现异常时,马上退出并给出足够错误信息。

13.经济原则

宁花机器一分,不花程序员一秒。

14.生成原则

避免手工hack,尽量编写程序去生成程序。

15.优化原则

优化之前先确保能用。先求运行,再求正确,最后求快。

16.多样原则

按我的理解,就是兼容性强,广泛采取多种语言、开放的可扩展系统和用户定制机制。

17.扩展原则

设计着眼未来,未来总比预想来得快。

一言以蔽之:K.I.S.S Keep It Simple,Stupid!

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章