讀《程式設計師修煉之道》

2021-05-02 05:56:22 字數 1629 閱讀 1235

記得四年前剛開始工作時從公司拿到的第一本書,就是這本《程式設計師修煉之道》(英文版),作為新入職員工study group的學習材料,當時在senior engineer帶領下和其他同事一起學習了這本書。雖然之前就聽說這是一本好書,但當時看的時候只是覺得,講的都有道理,但這些是很自然的阿,幹嗎花這麼大的篇幅說來說去?所以只是囫圇吞棗地翻過也就扔在一邊了。

之後也看過很多類似的書籍,《修煉之道》也一直是公司新人的必備學習材料,而我卻一直再沒重拾這本書仔細通讀一遍,直到最近周筠老師發給我中文電子版,我才又從書架上翻出當年的英文版,對照著中文電子版仔細通讀了一遍。

此次重讀,感受頗多,也頗能理解為何公司一直選用此書作為新人教材。

這本書裡包含了很多的看似粗淺樸素的道理,實則是若干經驗的心血總結。比如誰都知道不要對自己家的破窗戶置之不理,可實際中聽到太多的妥協:這個**已經這樣了,只能繼續在上面貼上醜陋的workaround,這其實是一種對責任的推卸和對未來的不負責,當然現實不是完美的,有時救火隊員也不得不放下破窗戶而遷就其他,但最為乙個pragmatic程式設計師,保持追求完美的心態還是很有必要的,正因為這個心態,我們才會去追求**的優美、設計/實現的正交、dry(dont' repeat yourself)原則...

關於dry,我想說,不但don't repeat yourself,也don't report others,我們看到太多重複造輪子的故事,正如書中提到「鞋匠的孩子沒鞋穿」,作為乙個pragmatic程式設計師,合理地使用工具/庫/以及自己積累的開發的輪子,會讓自己的productivity不斷提公升。這讓我想起公司裡乙個讓人崇拜的「牛」,產品一直想把程序內cache做成多程序共享,正在大家還在討論該怎麼做的時候,「牛」已經用短短幾天時間完成了,眾人再次崇拜一把,原來「牛」是備有很多現成**的,完成這個功能只是把之前積累的封裝良好的模組重用就可以了。

另外乙個書中推崇的方法:曳光彈,自己之前用prototype,但一直猶豫於**是否需要重用,原則上prototype的**是應該拋棄型的,但在有時候前期做的一些工作其實是為了確定方案、構建框架,而這些其實是會作為後起工作的基礎的。事實上在專案先期是值得仔細考慮究竟該採用prototype還是曳光彈,它們的適用場景會有所不同(對於產品開發,曳光彈的應用場景可能相對會更多一些)

當然,至於書中提到的對知識資產的管理(知識投資)、溝通和交流的重要性等等,我想這就不單單對於程式設計師適用了,任何乙個人要想有所作為的,這些方面的重要性都毋庸多說了。而對於自動化和文字處理等方面的經驗,也是在很多書中都提到的經驗之談(unix程式設計藝術、卓有成效的程式設計師...)

最後,說一下這本書的翻譯,譯者馬維達,最早是在學校時讀過他翻譯的ace文件及相關資料,收益頗多,ace可謂網路程式設計技術的集大成者,而這本《修煉之道》則可謂程式設計的集大成者,從專案管理、軟體架構和設計、**編寫和測試,各方面在此書中都有精到的闡述。此書的翻譯質量應該說很是準確,基本很實在真實地表達了原書的意思,但正因直譯,可能有些語句理解上會有一點難度(比如p146, "只要對於那些被耦合在一起的模組而言,這是眾所周知的和可以接受的,你的設計就沒有問題。"),但細讀這本書,這些有所晦澀的內容還是能理解的,當然一點建議是作者可以適當加些「譯註」,這樣會讓理解更容易和順暢(比如書中直接用古魯來翻譯guru,如果能加些解釋可能會更好,又比如law of demeter,原書沒有解釋得太清楚,如果能多加些解釋可能會更便於理解)

感謝周筠老師讓我有機會重溫這本優秀的書籍,為了完成作業,也為了讓自己認識提公升。

讀《程式設計師修煉之道》

這本書已經買了好久,但一直沒看 沒看過的書在我書架上還有好多 不過是偶然間從書架上拿下,翻看了幾頁,結果我再也放不下手。於是,花了約半月的空閒時間,斷斷續續將此書讀完。此書還有一名 從小工到專家 我現在明顯是小工,並且可能還是不熟練的那種。倒沒有奢求看完這本書就變成專家 這種書還沒有寫出來吧 不過,...

程式設計師修煉之道

在所有的弱點中,最大的弱點就是害怕自己暴露弱點。j.b bossuet,politics from holy writ,1709 provide options,don t make lame excuses 提供各種選擇,不要找蹩腳的藉口 don t live with broken window...

程式設計師修煉之道

身為一名程式設計師,當一本叫做 程式設計師修煉之道 的書出現在面前,又怎能忍住不去看呢?於是,出現了下邊的讀書筆記。該書確實博大精深,包含了很多內容,但很多都是點到為止。那種心中有劍的感覺,躍然紙上,或許高手都是如此吧。根據多年武俠觀摩經驗,一定要把不懂的記下來,以後肯定大有用處。那就記。第一章 注...