編程之道(3)
發表時間:2024-02-23 來源:明輝站整理相關軟件相關文章人氣:
[摘要]第三篇設計編程大師如是說:“當程序被測試時,再修改設計方案就太遲了。”3.1曾經有個人去參加一次電腦展示會。每天當他進展館時,都對門衛說:“我是一個大盜,我偷盜的本領是出了名的。事先警告你,這次展示會也在劫難逃。”這番話讓門衛坐立不安,因為里面有價值婁百萬美元的電腦設備,所以他緊緊地盯住這個人。但...
第三篇設計編程大師如是說:
“當程序被測試時,再修改設計方案就太遲了。”
3.1
曾經有個人去參加一次電腦展示會。每天當他進展館時,都對門衛說:“我是一個大盜,我偷盜的本領是出了名的。事先警告你,這次展示會也在劫難逃。”
這番話讓門衛坐立不安,因為里面有價值婁百萬美元的電腦設備,所以他緊緊地盯住這個人。但這個人只是從一個展攤逛到另一個展攤,嘴里輕輕地哼著小曲。
當這個人出門時,門衛把他拉到一邊,搜查他的衣服,但一無所獲。
第二天,這個人又來了,并對著門衛囂張地嚷著:“我昨天滿載而歸,但今天的收獲會更大。”于是,門衛盯他盯的更緊了,但仍一無所獲。
在展示會的最后一天,門衛再也抑制不住自已的好奇心了。“大盜先生,”門衛說,“我被你搞糊涂了,實在想不明白。請告訴我,你究竟在偷什么?”
這個人笑了。“我在偷想法”他說。
3.2曾經有位編程大師,喜歡編寫非結構化的程序。一位初學者試圖模仿他,也開始編寫非結構化的程序。當這位徒弟請師父評價他的進展時,師父批評了他的做法。他說:“對一位編程高手適合的,對初學者來說并不一定適合。在超越結構化之前,你必須先領悟道。”
3.3
曾經有們員被派到IBM的軍機大臣手下工作。軍機大臣問程序員:“設計一個財務軟件包,和設計一個操作系統,哪一個更容易?”
“操作系統。”程序員回答說。
軍機大臣立刻發出一種不信任的驚嘆,“與一個復雜的操作系統相比,一個財務軟件包簡直就是小巫見大巫。”他說。
“并非如此,”程序員說,“在設計一個財務軟件包時,編程人員是作為一個中介者在觀念各異的人們之間起作用的:這個軟件必須如何操作,它的報表必須是什么形式,它必須如何與稅法一致,等等。相反,一個操作系統則不為其外觀所限制。當設計一個操作系統時,編程人員只要在機器與人的思維之間尋找一種最簡單的和諧就可以了。這就是為什么操作系統更容易設計。”
軍機大臣點點頭,笑了。“說來也是,但要想檢測和糾正其中的錯誤,哪個更容易呢?”
程序員沒有回答。
3.4
一位經理到編程大師那里,交給他一份有關一個新應用程序的需求說明。經理問編程大師:“如果我分配五個程序員給你,你需要多久能設計好這個系統?”
“那將花費一年的時間。”大師立刻回答。
“但我們馬上就需要這個系統,甚至要求更快!如果我分配十個程序員給你,你需要多長時間?”
大師皺了皺眉頭,“那樣的話,需要兩年。”
“如果我分配一百個程序員給你怎么樣?”
大師聳了聳肩膀,“那么這項設計將永遠無法完成。”他說。
《待續》