第四章 编码
编程大师如是说:
“写的好的程序是它自己的天堂,写的不好的程序是它自己的地狱”
4.1
一个程序应该是轻灵自由的,它的子过程就象串在一根线上的珍珠。自始至终,目标明确。增之一字节则太长,减之一字节则太短。既没有不必要的循环也没有没有被引用的变量,既不缺少结构化也不至于僵硬呆板。
一个程序应该遵循``最小惊讶原则‘‘,什么是``最小惊讶原则‘‘?就是说一个程序应该最小程度地引起用户的惊讶。
无论一个程序无论有多么复杂都应该是一个单一的整体。程序是被它的内部逻辑所指引而不是它的外观表现。
如果一个程序不能满足所要的需求,它就会处于混乱无序的状态中。唯一的出路就是重写这个程序。
4.2
一个初学者问大师:“我的一个程序有时正常有时不正常。我已经完全遵循编程的规则,而且我完全被它弄糊涂了,到底是什么原因会导致这样呢?”
大师说:“你困惑是因为你不了解道。只有傻瓜才会相信只要遵循别人所说就能得到想当然的结果。为什么你要从一个人类自己构造的机器中去得到想当然的结果呢?计算机只是决定论的产物;只有道才是唯一完美的。
任何编程的规则都只适合于特定的情况,只有道才是永恒不变的。所以在你受到指引之前要先去思考道。”
“但是我怎么知道我何时受到指引呢?”
“当你的程序正确运行时”。大师说。
4.3
初学者请大师解释“道法自然”。大师说:“道存在于任何软件中--无论是多么没有意义的软件”。
“难道也存在于手持式的计算嚣里?”,初学者问。
“是的,”
“也在游戏机里?”,初学者又问到。
“是的,甚至也存在于游戏机里”。大师说。
“也存在于个人计算机的DOS里吗?”
大师咳嗽了一声,稍微动了一下,说,“今天的课就到这里”。
4.4
###编程大师编写软件时,手指在键盘上快速飞舞。程序编译时没有一条错误信息,程序运行起来就象一阵微风吹过。
太精彩了!你的技巧已经无可挑剔了。
“技巧?”,大师转过身说,“我所遵循的是道--它超乎所有的技巧。当我开始编程时我看到的是整个一大块的程序,三年后我看到的是子过程。现在我什么也看不到了。我的整个存在是没有任何形式的虚无。我感觉很悠闲,总之,事实上是我的程序自己在写,有时我看到一些问题,我看到它们,就停下来静静地观察它们,然后我改变了一行代码,难题就象一阵轻烟一样化为乌有。然后我编译程序。坐在那里享受工作的喜悦。闭了一会眼睛然后退出系统。
“什么时候我的程序员才能都达到这样的境界!”
|