目錄 book 1 -- the silent void
book 2 -- the ancient masters
book 3 -- design
book 4 -- coding
book 5 -- maintenance
book 6 -- management
book 7 -- corporate wisdom
book 8 -- hardware and software
book 9 -- epilogue
沉默的虛無(the silent void)
掌握了軟體開發的程式設計師說:
「當你已經學會從各種軟體框架中的陷阱中找出錯誤**時,那就是你離開的時候了」
注釋:軟體開發的各種正規化,模式,框架,理論,方法,其中都有其優點,有其缺點,只有真正掌握各種不同理論,方法的區別,利用其長處,避免其短處,才可以達到軟體開發的最高境界。只有真正掌握了其缺點和不足,才是真正的掌握。
1.1
某種神秘的東西產生了,在沉默的虛無中。它單獨等待在那裡,不移動,它只在這一剎那是靜止的,以後就進入連續的運動中。它是所有程式的源泉。我不知道它的名字,所以我將叫它程式設計之道。
注釋:所有的程式,其根本原理是一樣的,程式設計的道理是完全共同的,但是沒有辦法準確描述出來,也沒有辦法知道它是如何產生的。
如果道是偉大的,那麼作業系統是偉大的。如果作業系統是偉大的,那麼編譯器是偉大的。
如果編譯器是偉大的,那麼應用程式是偉大的。使用者感到高興,世界充滿了和諧。
注釋:道是一切的源泉,理論指導實踐,也決定了以後各種實踐可以達到的程度。
程式設計之道隨著早晨的風飛來飛去。
注釋:不知道他從那裡來,不知道他到那裡去,非常神秘,難以理解,難以琢磨。
1.2
道給了機器語言生命,機器語言給了彙編器生命。
彙編器給了編譯器生命。現在有了上萬種開發語言。
注釋:道本身沒有改變,改變的是其外在表現形式。客觀規律不因為其外在形式變化而改變。每種開發語言有其意志,儘管很微弱。每個開發語言表現了軟體的陰陽。每個語言在道中都有其位置。
注釋:每一種開發語言一旦成形,都難以進行很大的改進,其優點和缺點往往同時存在,所以在軟體開發中都有需要用到的地方。
但是不要用cobol程式設計,如果你可以避免它。
注釋:語言本身有其生命週期,某些語言發展到一定程度以後,就逐漸退出了歷史舞台。
1.3
開始是道。道給了空間和時間生命。所以,時間和空間是程式設計的陰陽兩極。
注釋:在軟體開發中,時間和空間是一對矛盾,不可能既節省時間,又節省空間。
不理解道的程式設計師總是用完他們的程式的時間和空間。理解道的程式設計師總是有足夠的時間和空間來完成他們的任務。
注釋:時間指程式的執行時間,空間指程式的執行空間,所占用的記憶體空間大小。程式開發時不加限制地使用記憶體資源,將不可避免地導致系統響應速度變慢。
不是這樣又會是怎樣呢?
注釋:道理其實非常簡單。
1.4
對聰明的程式設計師談論道,他遵守它。對一般的程式設計師談論道,他尋找他。對愚蠢的程式設計師談論道,他對道進行嘲笑。
注釋:簡單的道理中蘊含著豐富的思想。看起來簡單,其實其中有真理的成分。
如果沒有人來嘲笑它,也就不會有道。
注釋:正是因為有人不理解,所以才可以說明道理的深奧。道理本身不是那麼容易理解的,有人不理解是正常現象。
最高的聲音是最難以被聽到的.前進也是一種撤退的方法.偉大的天才在生命的晚期才顯現他自己.即使是乙個完美的程式也存在臭蟲.
注釋:沒有絕對完美的程式,程式中必然存在臭蟲.
程式設計之道 3
維護 mainteance 掌握了道的程式設計師這樣說 即使乙個程式只有三行長,某天它也不得不被維護 5.1 乙個正常使用的門不需要在折葉上加油.乙個噴射出的激流不會產生停滯.無論聲音還是思想都不能在真空中傳播.軟體如果不用就會腐爛.這裡有偉大的神秘.注釋 這些都是自然現象,沒有任何的神秘可言.5....
隨想程式設計之道
程式是怎麼寫出來的呢?今天好像突然頓悟了。作為乙個dev,程式設計工作可以分為三類吧 new features,refactoring,fixing bugs.其實,每一次coding,都是首先考慮了use case或者叫做乙個個的workflow,然後,順著對應流程,順勢邏輯思考,很容易就寫出了程...
程式設計之道 繁體版
static 函式私有,在第一次引用函式時開闢記憶體,一直到程式結束都占用 satic令乙個用法,是定義靜態全域性變數和函式,標誌從這裡開始到本檔案結束時,下面的東西都看的見這個外部變數,但其他原始檔中函式就看不見這個外部變數 區域性變數 全域性變數 外部變數 同一類資料不同提法,作用域,儲存空間 ...