`
kongweile
  • 浏览: 506017 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

KISS-UNIX/LINUX哲学思想

 
阅读更多

 

    编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原则”无处不在。大部分隐式的UNIX哲学不是这些前辈所说的,而是他们所做的和UNIX自身建立的例子。从整体上看,我们能够抽象出下面这些观点:

1、 模块性原则:写简单的,通过干净的接口可被连接的部件。
2、 清楚原则:清楚要比小聪明好。
3、 合并原则:设计能被其它程序连接的程序。
4、 分离原则:从机制分离从策略,从实现分离出接口。
5、 简单原则:设计要简单;只有当你需要的时候,增加复杂性。
6、 节俭原则:只有当被证实是清晰,其它什么也不做的时候,才写大的程序。
7、 透明原则:为使检查和调试明显更容易而设计。
8、 健壮性原则:健壮性是透明和简单的追随者。
9、 表现原则:把知识整理成资料,于是程序逻辑能变得易理解和精力充沛的。
10、最小意外原则:在接口设计中,总是做最小意外事情。
11、沉默原则:当一个程序令人吃惊什么也不说的时候,他应该就是什么也不说。
12、修补补救:当你必须失败的时候,尽可能快的吵闹地失败。
13、经济原则:程序员的时间是宝贵的;优先机器时间节约它。
14、产生原则:避免手工堆砌;当你可能的时候,编写可以写程序的程序。
15、优化原则:在雕琢之前先有原型;在你优化它之前,先让他可以运行。
16、差异原则:怀疑所有声称的“唯一真理“。
17、可扩展原则:为将来做设计,因为它可能比你认为来的要快。

 

1. 模块原则: 使用简洁的接口拼合简单的部件.
 2. 清晰原则: 清晰胜于取巧. 设计有可能从简单到复杂,但最终一定再回归到简单.
 3. 组合原则: 设计时考虑拼接组合.
 4. 分享原则: 策略同机制分离, 接口同引擎分离.
   很多设计模式都可以看到这一原则的影子. 目的为解耦, 中心是要模块的职责清晰. 在Unix世界常见的应用就是将某个系统功能分为前端和后端.
 5. 简洁原则: 设计要简洁, 复杂度能低则低.
 6. 吝啬原则: 除非确无它法,不要编写庞大的程序. 让程序只做一件事。
 7. 透明性原则: 设计要可见, 以便审查和调试.
 8. 健壮原则: 健壮源于透明与简洁.
 9. 表示原则: 把知识体现在数据结构上, 以追求逻辑质朴且健壮.
   不要让复杂的数据定义破坏你优雅的设计.
 10. 通俗原则: 接口设计避免标新立异.
 11. 缄默原则: 如果一个程序没什么好说的,就沉默.
 12. 补救原则: 出现异常时,马上退出并给出足够错误信息.
 13. 经济原则: 宁花机器一分, 不花程序员一秒. (我最喜欢这一条.)
 14. 生成原则: 避免手工hack, 尽量写程序去生成程序. 
   (patch算是13&14好的示例了)
 15. 优化原则: 雕琢前先要有原型, 跑之前先学会走. 按小步快跑的节奏展开.
 16. 多样原则: 决不相信所谓"不二法门"或"银弹"的断言.
 17. 扩展原则: 设计着眼未来, 未来总比预想来得快.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics