编码
编程大师如是说:“一个写得完美的程序是其自身的天堂,而一个写得糟糕的程序则是其自身的地狱。”
一个程序应当是轻盈的、灵活的,它的子程序就像一串珍珠一样连接着。它的精神和意图应该贯穿始终。在程序中,内容既不应太多,也不应太少;既不该有不需要的循环结构,也不该有冗余的变量;既不缺乏结构性,又不过分僵化。
一个程序应当遵循“最少惊讶原则”。这条原则是什么呢?简单地说,就是指一个程序对用户的指令所做出的反应,应该总是使用户最小程度地惊讶。
一个程序,无论多么复杂,都应该以一个整体的方式运行。程序应以其内在的逻辑为指引,而非外在形态。
如果一个程序不能达到这些要求,它将处于一种杂乱无章和混淆不清的状态。唯一的更正方法就是这个程序。
一位项目经理手下的一名程序员正在编写软件。他的手指在键盘上飞舞着,在程序的编译过程中没有出现任何错误信息。程序运行起来就像一阵和见。
“太好了!”经理高兴地大叫起来,“你的技艺简直是完美无缺。”
“技艺?”程序员说着便从他的终端机前转过身来,“我遵循的是道--所有的技艺远不能及!当我刚开始编程时,我眼前看见的是整个问题乱成一团。三年之后,我再也看不见这种一团糟的情形了。相反,我用了各种各样的子程序。但现在,我什么也看不见了。我的整个身心存在于一种无形的虚空里,我的知觉是空荡荡的。
我的精神随其本能而动,不需计划就能自由地工作。总而言之,是我的程序自己写出了自己。诚然,有时会有一些难题。我看见那些难题向我起来,于是我放慢了速度,默默地注视着他们。然后我更改了一行编码,那些问题就烟消云散了。然后我完成程序的编译。我静静地坐着,让工作的欢愉遍布我的全身。我闭上双眼,歇息片刻,然后退出系统。”
经理说,“希望我所有的程序员都这么聪明!”
评论