頂級程序員書單系列一:《程序員修煉之道——從小工到專家》

淺談這本書

如果讓我做一個排名,我想這本書,可以在我的頂級程序員書單系列排名第10-15位,這是一本講編程思想的書,裏面的很多觀念,我覺得在現在來看,依然是非常正確的指導意見,無論你是初級開發,還是架構專家,如果你沒讀過這本書,我都建議你仔仔細細,認認真真的讀一遍,我相信,如果你真的細細領略書裏的思想,它一定對你的職業生涯的發展有着大大的幫助。無論你使用的是哪種語言,無論你的經驗多麼豐富,我相信閱讀之後,你一定有所收穫。

如果你讀過這本書,我相信,你一定和我一樣,在日常的編程中,將這些好的理念如同春風化作雨一般,將它化爲自己的一把利劍。

我的部分筆記

1.Care about your Craft
只在乎如何漂亮地開發出軟件

2.Think!About Your Work
注重實效的程序員當你在做某件事情的時候會思考自己在做什麼

3.Provide Options,Don’t make Lame Excuses
比之抱怨,不如提供解決辦法(如果真的要抱怨的話不要對人抱怨)ps:試試小黃鴨解壓法

4.Don’t Live with Broken Windows
編寫整潔,設計良好,並且很優雅的代碼
誰也不想成爲第一個弄髒東西的人

5.Be a Catalyst for Change
石頭湯的故事,請求原諒比獲取許可更容易,做變化的催化劑

6.Remember the Big Picture
留心大圖景,要持續不斷地觀察周圍發生的事情,而不只是自己在做的事情

7.Make Quality a Requirements Issue
多聽聽用戶的反饋,他們將引領你想出更好的方案
(編程就像是繪畫一樣,不要因爲過度修飾和過於求精而毀損完好的程序,讓你的代碼憑藉着自己的質量站一會兒,它也許不完美,但,不用擔心,它不可能完美)

8.Invest Regularly in Your Knowledge Portfolio
<1>每年至少學習一種新語言
<2>每季度閱讀一本技術書籍
<3>也要閱讀非技術書籍
<4>上課
<5>參加本地用戶組織
<6>實驗不同的環境
<7>跟上潮流&上網
(持續投入十分重要&閱讀和理解需要時間,時間已經很短缺,你需要預先規劃,讓自己在空閒時總有書可讀)

9.Critically Analyze What You Read and Hear
警惕唯一的答案
(問問題的一個簡單的訣竅:
1.明確你的問題,簡單具體
2.小心得體組織問題,記住你是在請求幫助,而不是要求對方強行回答
3.組織好問題後,先停下來自己找找答案
4.提出問題後,靜待解答,可能需要好幾天

10.It’s Both What You Say and the Way You Say It
交流越有效,你就越有影響力

11.DRY-Don’t repeat yourself
強加的重複:開發者覺得無可選擇/環境要求
無意的重複:開發者沒有意識到他們在重複信息
無耐性的重複:開發者偷懶,因爲重複比較容易
開發者之間的重複:團隊之間的重複
(一定要閱讀他人的源碼與文檔)

12.Make it Easy to Reuse
如果不進行復用,你們就會有重複知識的風險

13.Eliminate Effects Between Unrelated Things
正交的系統有兩個好處:提高生產率與降低風險(系統也更容易測試)
(正交性的一個有趣的變體是面向方面編程AOP)
<1>讓你的代碼保持解耦
<2>避免使用全局數據
<3>避免編寫相似的函數(可以使用策略模式)
<4>養成不斷地批判對待自己的代碼的習慣

14.There Are No Final Decisions
要把決策視爲是寫在沙灘上的,而不要把他們刻在石頭上,大浪可能隨時到來把他們抹去(如果一些代碼需要大量地把某些語句分散到整個代碼中,而你又無法把一些需求抹去,你可以把它們放在元數據中,讓你的代碼學會’搖滾‘)

15.Use Tracer Bullets to Find the Target
曳光彈行之有效,因爲它們與真正的子彈在相同的環境相同的約束下工作,它們快速飛向目標,所以槍手可以得到及時的反饋,從實踐的角度看,這樣的解決方案也更便宜
<1>用戶能夠及早看到能工作的東西
<2>開發者構建了一個他們能在其中工作的結構
<3>你有了一個集成平臺
<4>你將能感受到工作進展

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章