回答六个常见的面试问题 好文|语录中的it2005

December 11, 2005

Basics of the Unix Philosophy
(国内有可能需要代理访问)
By Ronny De Winter
Tipped by Solidot

在读了Eric Raymond的”Unix编程艺术“一书之后,我总结了17条Unix的基本哲学。对我来说,这些也是编写高质量软件的基本原则。

1 模块化:将它分为若干个简单的部分,通过清晰的界面连接起来。
2 简洁:简洁,比小聪明来得好
3 组合:可以与其他程序相互连接
4 分离:结构上要采取分离的策略;将界面与引擎分开
5 简单:仅仅在必需的时候才增加程序的复杂性
6 节俭:除非无路可走,才去写那些大型程序
7 透明:使得检查和Debug的过程非常容易
8 坚固:透明+简单的结果
9 外在化:将经验转化为数据,从而让程序的逻辑变得易解和健全
10 最少意外:在界面设计上,让人感觉意外的地方永远要控制在最少
11 安静:当一个程序没有什么意外的地方的时候,它就会很安静
12 可修复:尽力修复–但是你一定会出错的时候,越早越好
13 经济:编程的时间非常昂贵,把它保留下来给机器
14 可再生:避免手工操作。在可以的时候,写一个程序,让它帮你编程
15 优化:动手之前先要有原型;先让它运行起来,再优化
16 多样性:不要相信众多要求,用一种真正有效的方法
17 可扩展性:为了将来考虑,因为很快它就不是你想的那样的了

延伸阅读:
Eric Steven Raymond:The Art of Unix Programming

Tags: No Tags

相关文章:

推荐文章

您的评论对我们很重要:

5 Comments »

  1. 让我们把“报纸会不会死”的无聊问题讨论到呕吐

    Trackback by 张锐 — December 12, 2005 @ 4:26 am

  2. 受益匪浅!

    Comment by wylzm — December 12, 2005 @ 11:57 am

  3. 张锐:关于报纸如何死亡的几个真问题

    Trackback by 游学纪 — December 12, 2005 @ 5:23 pm

  4. […] Unix的基础哲学 (tags: unix) […]

    Pingback by PEBBLES » links for 2005-12-12 — December 18, 2005 @ 6:18 pm

  5. 首先感谢译者的劳动,这是无私的奉献行为。其次有几个可以商榷的翻译之处,还是说一下。

    2 简洁:简洁,比小聪明来得好
    原文:Rule of Clarity: Clarity is better than cleverness.
    Clarity译作清晰更合适,简洁是Simple.

    4 分离:结构上要采取分离的策略;将界面与引擎分开
    原文:Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
    前半句应该译作,“将策略和机制分离” Policy和Mechanism是两个Design Pattern中的常用术语,现在这样译丢失原意。

    11 安静:。。它就会很安静,应该译作“它应该很安静”

    12,但是你一定会出错的时候,越早越好
    应该译作“但是非出错不可的时候,就要立刻“大声地”报错。noisely是个关键副词,不能丢掉。

    14 可再生,应该译作”生成器规则“,指应该主动写代码生成器来自动化编程过程。即code generator.

    17.因为很快它就不是你想的那样的了, 应该译作“它会比你想的更快到来”

    Comment by NullPointer — May 18, 2006 @ 8:56 am

RSS feed for comments on this post. TrackBack URI

Leave a comment