Linux/Unix 设计思想 摘记

良好的程序员写出优秀的软件,优秀的程序员“偷窃”优秀的软件。

NIH(Not Invented Here)综合征的特点就是人们会为了证明自己能够提供更加卓越的解决方案而放弃其他开发人员已经完成的工作。

Unix哲学准则:

  1. 小即是美
  2. 让每一个程序只做好一件事情
  3. 尽快建立原型
  4. 舍高效率而取可移植性
  5. 使用纯文本文件来存储数据
  6. 充分利用软件的杠杆效应
  7. 使用shell脚本来提高杠杆效应和可移植性
  8. 避免强制性的用户界面
  9. 让每一个程序都成为过滤器

Unix哲学的次要准则:

  1. 允许用户定制环境
  2. 尽量使操作系统内核小而轻巧
  3. 使用小写字母,并尽量保持简短
  4. 保护树木
  5. 沉默是金
  6. 并行思考
  7. 各部分之和大于整体
  8. 寻找90%的解决方案
  9. 更坏就是更好
  10. 层次化思考

如果你准备开始编写一个程序,请从小规模开始并尽量保持。

软件开发应该力求简短。

小程序往往只具有单一功能,而单一功能的程序往往也很小。

注:关于小程序和单一功能,我想到以前在IBM DW上看到的一篇文章提出的一种实践规则:
1、一个方法只做一件事;
2、一个方法的代码具有相同的逻辑层次;
3、遵循前面两个规则自然将产生大量短小、具有单一功能的方法,这些方法便于重用。


欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。