• 《Linux/Unix设计思想》零散笔记


    本文地址: http://www.cnblogs.com/raol/archive/2013/04/14/linux_unix_design.html

    偏离了设计思想
    1. 传递给函数调用的参数太多。
    2. 子程序的长度超过了整个屏幕
    3. 要靠阅读代码注释才知道子程序到底做了什么?
    4. 获取目录列表的时候,屏幕显示不下这些原文件。
    5. 某个文件很难控制, 无法定义程序的全局变量。
    6. 开发程序的过程中, 无法记起错误信息是在什么条件下触发的。


    每个程序都是过滤器。
    程序够小。
    每个程序做好一件事。


    NIH综合征。

    人类的进化的三个系统:第一个系统:压力,激情,兴趣(激发人们的想象力和概念); 第二个系统:第一系统带来价值,形成规模研究对第一系统进化扩展(笨重的大象);第三个系统:第一系统的加强,第二系统的简化。

    对待功能和设计文档:(这个岂不是敏捷的原型
    1.拱写简要功能规格文件(1.没有人真正知道人们想要什么;2.很难描述那些不存在的事物)
    2.编写软件(并不是说没有设计就投入编写)
    3.迭代测试,迭代开发
    4.有必要时写详细文档。


    高效率:越高效率越底层, 移植性越差。Unix舍弃高效率(让intel来做吧)
    杠杆效应:想办法让别人分担,分享自己的代码。

    CUI:强制用户界面接口

    沉默是金: Unix命令没有查找到结果时,不输出任何东西,返回命令行。

    层次化思考。

    内核小而轻量化。

    条目梳理:
    (1) 小即是美。
    (2) 让每一个程序只做好一件事情。
    (3) 尽快建立原型。
    (4) 舍高效率而取可移植性。
    (5) 使用纯文本文件来存储数据。
    (6) 充分利用软件的杠杆效应。
    (7) 使用shell脚本来提高杠杆效应和可移植性。
    (8) 避免强制性的用户界面。
    (9) 让每一个程序都成为过滤器。
    次要准则:
    (1) 允许用户定制环境。
    (2) 尽量使操作系统内核小而轻巧。
    (3) 使用小写字母,并尽量保持简短。
    (4) 保护树木。
    (5) 沉默是金。
    (6) 并行思考。
    (7) 各部分之和大于整体。
    (8) 寻找90%的解决方案。
    (9) 更坏就是更好。
    (10) 层次化思考。

    -------------------------------------------------------------------------------------------------------------------------------------------------

    分割线

    --------------------------------------------------------------------------------------------------------------------------------------------------
    工作狂往往不得要领。他们花大把大把的时间去解决问题,他们以为能靠蛮力来弥补思维上的惰性,其结果就是折腾出一堆粗糙无用的东西。如果你只是为了工作而 工作,那么你就会丧失判断力,你的价值 观和决策方式都是扭曲的。--来自<<重来>>

  • 相关阅读:
    怎么用一句话把一个集合的属性值根据条件改了,而其他值不变
    【算法导论学习笔记】第3章:函数的增长
    【算法导论学习笔记】第2章:算法基础
    【算法导论学习笔记】第1章:算法在计算中的作用
    【Python爬虫学习笔记(3)】Beautiful Soup库相关知识点总结
    【Python爬虫学习笔记(2)】正则表达式(re模块)相关知识点总结
    【Python爬虫学习笔记(1)】urllib2库相关知识点总结
    string类型转换JSONObjec类型,并取出对应的值
    mybatis的Example的使用
    github上传项目
  • 原文地址:https://www.cnblogs.com/raol/p/linux_unix_design.html
Copyright © 2020-2023  润新知