“Linux/Unix设计思想”手记

说明:本笔记来自于"Linux/Unix设计思想"

unix哲学准则

  1. 小即是美

  2. 让每一个程序只做好一件事情

  3. 尽快建立原型

  4. 舍高效而取可移植性

  5. 适用纯文本来存储数据

  6. 充分利用软件的杠杆效应

  7. 使用shell脚本来提高杠杆效用和可移植性

  8. 避免强制性的用户界面

  9. 让每一个程序都成为过滤器

 

unix 哲学10条次要准则

  1. 允许用户定制环境

  2. 尽量使操作系统内核小而轻巧

    1)降低数据复制修改的次数
    2)加快任务在用户空间的激活速度
  3. 使用小子字母,并尽量保持简短

    1)原因:
    首先,小写字母看起来更轻松
    其次,小写有向上伸和往下伸两种形状,阅读的时候能够给眼睛传递一些智能提示。
    ​
    2)其他:
    * unix常用命令和文件名采用的都是小写
    * README是一种例外,用大写表达视觉提示,优先阅读此文件(因为大写的ascii码都排在前面)
    * unix文件名通常都很短,使用首字母缩写
    * 采用较短的名称可以在命令行包含更多的命令
  4. 保护树木(这里只环保的意思,比如在线处理而非纸质打印)

  5. 沉默是金

    1)错信息写入log文件
    2)更好地输出到管道配合其他工具处理,避免错误信息的干扰。
  6. 并行思考

    1)分解成多个子任务并行运行,最大化CPU运算性能
    2)也便于多台机器集群
  7. 各部分之和大于整体

    将小型组建组合在一起,构成继承行的应用程序
  1. 寻找90%的解决方案

    1)满足用户90%的需求
    2)90%解决方案的精髓在于,需要故意忽略那些代码高昂,费时费力难以执行的项目。
    3)舍去棘手的10%,可以轻而易举解决时世界上绝大多数问题
  2. 更坏就是更好

    1)三种处理事情的方法:
       a. 正确的方法
       b. 错误的方法
       c. 军事方法:与错误方法互逆,看起来像是错误的做事方式,却在不知不觉中获得空前成功
         unix "更坏的"就属于第三种,因为事情均有两面性,把自己家的优势发挥到极致
    2)良好的设计应该具备4个特点
       简洁、正确、一致、完整
  3. 层次化思考(比如目录结构)

    1)早期的操作系统文件和各个目录都放在同一级别
    2)用层次结构组织其他元件,比如unxi的任务、进程(父进程、子进程)
    3)自然界的普遍分层哲学

 

让UNIX只做好一件事

  1. 只有将unix的准则集成在一起,才会显得博大精深,它们相辅相成。

    "合则立,分则垮"

  2. 小程序应该保持它的专注力,功能定义明确,不被细枝末节模糊功能本身

  3. 软件从来都是完不成的,只会被发布出来

  4. 采用只做好一件事的小程序来构建原型,事情会容易很多

  5. 构建原型的时候应该舍效率而取可移植性

    可移植性数据应该和可以移植性应用程序齐头并进

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值