您的位置: 飞扬精品软件园 >> 文章中心 >> 系统教程 >> Unix系统 >> Unix基本哲学

相关文章链接

本类文章排行

最新新闻资讯

    Unix基本哲学

    Unix基本哲学


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-07-12


    杂的过程才能完成。

     

        (我们将在第9章再讨论这些技术。)

        1.6.10 通俗原则:接口设计避免标新立异

        (也就是众所周知的“最少惊奇原则”。)

        最易用的程序就是用户需要学习新东西最少的程序——或者,换句话说,最易用的程序就是最切合用户已有知识的程序。

        因此,接口设计应该避免毫无来由的标新立异和自作聪明。如果你编制一个计算器程序,‘+’应该永远表示加法。而设计接口的时候,尽量按照用户最可能熟悉的同样功能接口和相似应用程序来进行建模。

        关注目标受众。他们也许是最终用户,也许是其他程序员,也许是系统管理员。对于这些不同的人群,最少惊奇的意义也不同。

        关注传统惯例。Unix世界形成了一套系统的惯例,比如配置和运行控制文件的格式,命令行开关等等。这些惯例的存在有个极好的理由:缓和学习曲线。应该学会并使用这些惯例。

        (我们将在第5章和第10章讨论这些传统惯例。)

        最小立异原则的另一面是避免表象相似而实际却略有不同。这会极端危险,因为表象相似往往导致人们产生错误的假定。所以最好让不同事物有明显区别,而不要看起来几乎一模一样。

        —Henry Spencer

        1.6.11 缄默原则:如果一个程序没什么好说的,就保持沉默

        Unix中最古老最持久的设计原则之一就是:若程序没有什么特别之处可讲,就保持沉默。行为良好的程序应该默默工作,决不唠唠叨叨,碍手碍脚。沉默是金。

        “沉默是金”这个原则的起始是源于Unix诞生时还没有视频显示器。在1969年的缓慢的打印终端,每一行多余的输出都会严重消耗用户的宝贵时间。现在,这种情况已不复存在,一切从简的这个优良传统流传至今。

        我认为简洁是Unix程序的核心风格。一旦程序的输出成为另一个程序的输入,就很容易把需要的数据挑出来。站在人的角度上来说――重要信息不应该混杂在冗长的程序内部行为信息中。如果显示的信息都是重要的,那就不用找了。

        —Ken Arnold

        设计良好的程序将用户的注意力视为有限的宝贵资源,只有在必要时才要求使用。

        (我们将在第11章末尾进一步讨论缄默原则及其理由。)

        1.6.12 补救原则: 出现异常时,马上退出并给出足量错误信息

        软件在发生错误的时候也应该与在正常操作的情况下一样,有透明的逻辑。最理想的情况当然是软件能够适应和应付非正常操作;而如果补救措施明明没有成功,却悄无声息地埋下崩溃的隐患,直到很久以后才显现出来,这就是最坏的一种情况。

        因此,软件要尽可能从容地应付各种错误输入和自身的运行错误。但是,如果做不到这一点,就让程序尽可能以一种容易诊断错误的方式终止。

        同时也请注意Postel的规定[8]:“宽容地收,谨慎地发”。Postel谈的是网络服务程序,但是其含义可以广为适用。就算输入的数据很不规

        范,一个设计良好的程序也会尽量领会其中的意义,以尽量与别的程序协作;然后,要么响亮地倒塌,要么为工作链下一环的程序输出一个严谨干净正确的数据。

        然而,也请注意这条警告:

        最初HTML文档推荐“宽容地接受数据”,结果因为每一种浏览器都只接受规范中一个不同的超集,使我们一直倍感无奈。要宽容的应该是规范而不是它们的解释工具。

        —Doug McIlroy


    [1] [2] [3] [4] [5] [6] [7] [8]


查看所有评论

网友对Unix基本哲学 的评论

网名:
主题:
内容:
验证码: