《代碼大全》讀後感

    最近買了幾本經典編程書,有《head first 設計模式》《人月神話》《程序員修煉之道》《代碼大全》,《代碼大全》是第二本看完的。


    看的期間不斷有所悟,書中多處讓我驚訝「原來是這樣子」。不過由於工作之餘時間有限,這本大著看了快兩個月才完了,現在僅憑印象把之前悟到的寫下來,算是總結。

    如果要用一句話概括《代碼大全》的話,我以爲是「爲人寫代碼,而不是機器」。

    一:爲人寫代碼,勢必要考慮代碼的擴展性。人是多變的,現實世界也是多變的,所以寫代碼之前需要設計,也纔有設計模式,讓你想變就變。

    二:爲人寫代碼,勢必要考慮代碼的易讀性。書中無數次強調變量名的重要性,同樣是代碼,int i = 5 和 int beautifulGirlsCount = 5 ,雖然這兩種代碼都能正確編譯並運行,但前者需要結合上下文連猜帶蒙都不一定理解正確,後者一目瞭然且看得春心蕩漾。

    三:爲人寫代碼,勢必考慮代碼的邏輯是否簡單。在機器面前,人的智力顯得太有限。如果代碼沒有遵循人類能理解的簡單邏輯,如if 、for、switch之類,不加限制的使用goto、遞歸,當代碼量到達一定程度,人就沒法維護這樣的程序。

    四:爲人寫代碼,勢必考慮異常的出現。從馬士兵老師開始,就告誡我們得把你的用戶當魔鬼,魔鬼是不會像我們想象中那樣去使用我們的程序的。本書的防禦式編程也重申了這點,人是會犯錯的,毋庸置疑,重要的是犯錯後你怎麼拋異常、控制錯誤的影響範圍和補救措施。

    五:爲人寫代碼,勢必要將代碼寫的漂亮。你看印在書裏的文章,所有的文字都用標點符號分隔,行與行有間隙,分段,這些文章的排版,在代碼裏也要有。代碼裏的縮進、空行、分段,不僅讓代碼顯得有邏輯,也有美感。所以格式化很重要,即使你代碼寫得很有邏輯,但寫得一坨一坨,你也很難讓他人忍着噁心看下去。

    這幾點的概括顯然沒辦法涵蓋八百多頁的《代碼大全》,不過對於一個剛走在碼農路上的我,可以讓我消化好一陣子了。在現實世界中,要做到這幾點,就更困難了。在看這本書的期間,每天白天在公司裏看着前輩留下來那一坨坨的代碼,不知何物的mActivity,隨處一點就奔潰的系統,我就知道現實跟我一樣有多骨感。但是,豐滿的理想跟豐滿的美女一樣,不會突然從天上砸到我身上。好代碼是一個個敲出來的,美女也是一步步勾引過來的,這裏沒有捷徑可言。

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