大型复杂的系统,才能体现出设计的价值。操作系统是这个世界上最复杂的系统之一,他的设计思路值得我们学习。
按我的理解,通俗来说,设计(仅指编程设计)就是按照哪一种思路或者标准来实现功能。同样的功能,不同的设计思想都能用不同的方式来实现,前期效果可能一样,但是随着产品功能的增加和扩展,设计的作用才会慢慢的显示出来。
结合《UNIX/Linux 设计哲学》中提到的系统设计原则 https://github.com/wangfupeng1988/read-notes/blob/master/book/Linux-Unix设计思想.md 。可能有一些会跟传统思想有区别,但是请你重视它们。
- 准则1:小即是美
- 准则2:让每个程序只做好一件事
- 准则3:快速建立原型
- 准则4:舍弃高效率而取可移植性
- 准则5:采用纯文本来存储数据
- 准则6:充分利用软件的杠杆效应(软件复用)
- 准则7:使用 shell 脚本来提高杠杆效应和可移植性
- 准则8:避免强制性的用户界面
- 准则9:让每个程序都称为过滤器
- 十条小准则
- 允许用户定制环境
- 尽量使操作系统内核小而轻量化
- 使用小写字母并尽量简短
- 保护树木
- 沉默是金
- 并行思考
- 各部分之和大于整体
- 寻求 90% 的解决方案
- 更坏就是更好
- 层次化思考
