程序員修煉之道-從小工到專家——閱讀筆記

Tips摘錄:

1、Care About Your Craft  關注你的技藝

2、Think! About Your Work 思考!你的工作

3、Provide Options, Don't Make Lame Excuses  提供各種選擇,不要找蹩腳的藉口

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、重新評估和權衡。

9、Critically Analyze What Your Read and Hear 批判地分析你讀到的和聽到的

 

10、It's Both What You Say and the Way You Say It 你說什麼和你怎麼說同樣重要

 

11、Don't Repeat Yourself 不要重複你自己

系統中的每一項知識都必須具有單一、無歧義、權威的表示。與此相反的做法是,在兩個或更多地方表達同一事物。如果你改變其中一處,你必須改變其他各處。

重複是如何發生的:

a.強加的重複。開發者覺得他們無可選擇——環境似乎要求重複。

b.無意的重複。開發者沒有意識到他們在重複信息。

設計中的錯誤。模塊間耦合性太強。

可能的情況下,應該總是用訪問器(accessor)函數讀寫對象的屬性。

c.無耐性的重複。開發者偷懶,他們拷貝粘貼,因爲似乎那樣更容易。

d.開發者之間的重複。同一團隊的幾個人重複了同樣的信息。

 

建議:

頭文件中註釋接口問題,在實現文件記載代碼使用者無須瞭解的實際細節。

12、Make It Easy to Reuse

你需要做的是營造一種環境,在其中要找到並複用已有的東西,比自己編寫更容易。如果不容易,大家就不會去複用。而如果不進行復用,你們就會有重複知識的風險。

 

13、Eliminate Effects Between Unrelated Things 消除無關事物之間的影響

正交性。我們想要設計自足(self-contained)的組件:獨立,具有單一、良好定義的目的,稱之爲內聚。如果組件是相互隔離的,你就知道你能夠改變其中之一,而不擔心其餘組件。只要你不改變組件的外部接口,你就可以放心:你不會造成波及整個系統的問題。好處:提高生產率,降低風險。

MVC範型。模型-視圖-控制器

14、There Are No Final Decisions 不存在最終決策

可撤銷性。

通常,可以把第三方產品隱藏在定義良好的抽象接口後面。(在需要轉換到其他的第三方產品的時候,只需要保持接口不變就好了)

15、Use Tracer Bullets to Find the Target 用曳光彈找到目標

 

16、Prototype to Learn 爲了學習而製作原型

 

17、Program Close to the Problem domain 靠近問題領域編程

 

18、Estimate to Avoid Surprises 估算、以避免發生意外

 

19、Iterate the Schedule with the Code 通過代碼對進度表進行迭代

 

20、Keep Knowledge in Plain Text 用純文本保存知識

類似於對於C語言代碼中的一些常量要用define 定義常量名,使得數據能夠表現出它的含義。

 

 

 

 

 

 

 

 

 

 

 

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