編程之道(4)
發(fā)表時間:2024-06-20 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]第四篇編碼編程大師如是說:"一個寫的完美的程序是其自身的天堂,而一個寫得糟糕的程序則是其自身的地獄。"4.1一個程序應(yīng)當(dāng)是輕盈的、靈活的,它的子程序就像一串珍珠一樣連接著。它的精神和意圖應(yīng)該貫穿始終。在程序中,內(nèi)容既不應(yīng)太多,也不應(yīng)太少;既不該有不需要的循環(huán)結(jié)構(gòu),也不該有冗余的...
第四篇編碼編程大師如是說:
"一個寫的完美的程序是其自身的天堂,而一個寫得糟糕的程序則是其自身的地獄。"
4.1一個程序應(yīng)當(dāng)是輕盈的、靈活的,它的子程序就像一串珍珠一樣連接著。它的精神和意圖應(yīng)該貫穿始終。在程序中,內(nèi)容既不應(yīng)太多,也不應(yīng)太少;既不該有不需要的循環(huán)結(jié)構(gòu),也不該有冗余的變量;既不缺乏結(jié)構(gòu)性,又不過分僵化。
一個程序應(yīng)當(dāng)遵循”最少驚呀原則”。這條原則是什么呢?簡單地說,就是批一個程序?qū)τ脩舻闹噶钏龀龅姆磻?yīng),應(yīng)該總是使用戶最小程度的驚訝。
一個程序,無論多么復(fù)雜,都應(yīng)該以一個整體的方式運(yùn)行。程序應(yīng)以其內(nèi)在的邏輯為指引,而非外在的形態(tài)。
如果一個程序不能達(dá)到這些要求,它將處于一種雜亂無章和混淆不清的狀態(tài)。唯一的更正方法就是重寫這個程序。
4.2
一位初學(xué)者問大師:”我有一個程序,時靈時不靈。我一直都遵循的編程的規(guī)則,結(jié)果卻整個兒搞糊涂了。這是什么原因呢?”
大師回答說:”因?yàn)槟銢]有領(lǐng)悟道,所以你迷惑不解,只有傻瓜才會指望從人類身上看到理性的行為,你又能打望一臺人類制造的機(jī)器怎么樣呢?計(jì)算機(jī)模仿的是決定論,只有道才是盡善盡美。
編程用的那些條條框框式的規(guī)則僅僅是曇花一現(xiàn),只有道才是永恒的。因此,在你受到的啟發(fā)之前,你必須沉思于道!
“但我怎樣才能知道我已經(jīng)受到啟發(fā)了呢?”初學(xué)者問。
“當(dāng)你的程序運(yùn)行無誤時。”大師回答說。
4.3一位大學(xué)正在向他的一名初學(xué)編程的弟子解釋道的真諦!贝说荔w現(xiàn)在所有的軟件當(dāng)中----不管它看上去多么無足輕重!贝髱熣f著。
“此道體現(xiàn)在手掌計(jì)算器中嗎?”初學(xué)者問。
“是的。”
“此道體現(xiàn)在電子游戲中嗎?”初學(xué)者繼續(xù)問。
“此道甚至也體現(xiàn)在電子游戲中!贝髱熣f。
“那么此道體現(xiàn)在個人電腦的DOS系統(tǒng)中嗎?”
大師輕咳一聲,并稍稍挪動了一下位置。”今天的課就到這里吧!彼f。
4.4
一位項(xiàng)目經(jīng)理手下的一名程序員正在編寫軟件。他的手指在鍵盤上飛舞著,在程序的編譯過程中沒有出理任何錯誤信息。程序運(yùn)行起來就像一陣和風(fēng)。
“太好了!”經(jīng)理高興地大叫起來,”你的技藝簡直完美無缺!
“技藝?”程序員說著便從他的終端機(jī)前轉(zhuǎn)過身來,”我遵循的是道-----所有的技藝遠(yuǎn)不能及!當(dāng)我剛開始編程時,我眼前看見的是整個問題亂成一團(tuán)。三年之后,我再也看不見這種一團(tuán)糟的情形了。相反,我用了各種各樣的子程序。但現(xiàn)在,我什么也看不見了。我的整個身心存在于一種無形的虛空里,我的知覺是空蕩蕩的。
我的精神隨其本能而動,不需計(jì)劃就能自由的工作?偠灾,是我的程序自己寫出了自己。誠然,有時會有一些難題。我看見那些難題向我走來,于是我放慢了速度,默默地注視著他們。然后我更改了一行編碼,那些問題就煙消云散了。然后我完成程序的編譯。我靜靜地坐著,讓工作的歡愉遍布我的全身。我閉上雙眼,歇息片刻,然后退出系統(tǒng)!
經(jīng)理說:”希望我所有的程序員都這么聰明!
[待續(xù)]