zoukankan      html  css  js  c++  java
  • 【转载】Unix哲学

    Unix哲学

         摘选自《Linux程序设计(第三版)》

    • 简单性:

        许多很有用的Unix工具是非常简单的,因此也是很小并易于理解的。“小而简单”是值得学习的,更大、更复杂的系统注定包 含更大、更复杂的bug,而调试是所有人都想避免的。

    • 集中性:

         通常,让一个程序很好地执行一项任务要好过把所有的功能都乱七八糟地堆在一起。功能肿胀的程序难于使用和维护。单一目标的程序更容易随着更好的算法或界面被开发出来而得到改进。在UNIX中,当用户出现新的需求时,通常是把小工具组合起来已完成更复杂的任务,而不是试图将一个用户可能期望的所有功能放在一个大程序里

    • 可重用组件:

         将应用程序的核心实现为库。具有简单而灵活的编程接口、文档齐备的库可以帮助其他人开发出同类程序,或者把这些技术应用到新的应用领域。

    • 过滤器:

         许多Unix程序可用作过滤器。也就是说,它们对输入进行转换并产生输出 。正如我们将在后面看到的,Unix提供了一些机制,让我们可以把一些Unix程序通过一种新颖的方式组合起来,以开发出相当复杂的应用程序。当然,这种类型的作用是靠前面提到的开发方法支撑的

    • 开放的文件格式:

          比较成功并流行的Unix程序都使用纯ASCII码的文本文件作为配置文件和数据文件。如果你在开发程序时采用了这种做法,那你就对了!它使用户可以用标准工具修改和搜索配置项,并且可以开发出在数据文件上执行新功能的新工具。

    • 灵活性:

           你不能期待用户都能正确地使用你的程序。所以,在编程时要尽量考虑到程序的灵活性;尽量避免对字段长度或记录数目作人为地限制。如果你能做到的话,则你编写的程序既能在单机上运行,也能跨网路运行。永远不要认为你知道用户想做的一切事。         

                 

     

    作者:Ljhero
    出处:http://ljhero.cnblogs.com/
    本作品采用署名-非商业性使用 3.0协议进行许可。欢迎转载,演绎,但是必须保留本文的署名Ljhero,且不能用于商业目的。

  • 相关阅读:
    Android事件机制之一:事件传递和消费
    Android单个控件占父控件宽度一半且水平居中
    Android IllegalArgumentException: Cannot draw recycled bitmaps解决方法
    Android视图篇之一:Android常见基本布局
    Android Nine-patch(.9.png)小结
    adb server is out of date. killing... ADB server didn't ACK解决方法
    Docker 下自定义安装 Tomcat
    Docker 删除 images
    SecureCRT 取消右击粘贴功能
    如何将不同业务模块产生的日志 分多文件记录
  • 原文地址:https://www.cnblogs.com/ljhero/p/1964717.html
Copyright © 2011-2022 走看看