“Linux/Unix设计思想”手记

0 篇文章 0 订阅

说明:本笔记来自于"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. 构建原型的时候应该舍效率而取可移植性

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值