《UNIX编程艺术》摘记

Unix诞生于1969年。

Unix哲学是自下而上的,而不是自上而下的。

unix程序的目标:只做一件事并做好它。编程的核心是数据结构,而不是算法。

unix哲学可以概括为:

  1. 模块原则:使用简洁的接口拼合简单的部件。
  2. 清晰原则:清晰胜于机巧。在写程序时,要想到你不是写给执行代码的计算 机看的,而是给人看的。花哨的代码不利于维护。
  3. 组合原则:设计时考虑拼接组合。在输入输出方面,Unix传统极力提倡采用 简单、文本化、面向流、设备无关的格式。
  4. 分离原则:策略同机制分离,接口同引擎分离。这种模式的经典例子是Emacs 编辑器。它使用内嵌的脚本语言Lisp解释器来控制C编写的编辑原语操作。
  5. 简洁原则:设计要简洁,复杂度能低则低。
  6. 吝啬原则:除非确无它法,不要编写庞大的程序。尽量利用现有的资源。
  7. 透明性原则:设计要可见,以便审查和调试。
  8. 健壮原则:健壮源于透明与简洁。
  9. 表示原则:把知识叠入数据以求逻辑质朴而健壮。 面对复杂数据和复杂代码,宁愿选择前者。 换句话说,使用合适的数据结构,能够简化程序逻辑。
  10. 通俗原则:接口设计避免标新立异
  11. 缄默原则:如果一个程序没什么好说的,就保持沉默
  12. 补救原则:出现异常时,马上退出并给出足量错误信息。
  13. 经济原则:宁花机器一分,不花程序员一秒。
  14. 生成原则:避免手工hack,尽量编写程序去生成程序。
  15. 优化原则:雕琢前先得有原型,跑之前先学会走。 用“极限编程”宗师kent beck的话讲: 先求运行,再求正确,最后求快。
  16. 多样原则:决不相信所谓“不二法门”的断言
  17. 扩展原则:设计着眼未来,未来总比预想快。

unix哲学,一言以蔽之: KISS = Keep It Simple, Stupid!

 
 

Posted by Jolly Wing 2015年11月08日 21:13