強烈推薦10本程序員必看的書

經常有讀者私下問我,能否推薦幾本書,以便空閒的時間讀一讀。於是我跑去自己的書架上篩選了 10 本我最喜歡的書,你可以挑選感興趣的來讀一讀。

01、《代碼整潔之道》

強烈推薦10本程序員必看的書


我可以這麼肯定地說:《代碼整潔之道》值得所有的程序員讀一讀。軟件的質量,不僅依賴於架構,更與代碼質量息息相關。而代碼的質量與其整潔度成正比關係,越整潔的代碼,其質量毫無疑問的就會越高。

如何寫出整潔的代碼呢?Keep It Simple Stupid:代碼簡單直接,不僅能夠提高代碼的效率,還能夠讓閱讀代碼的人賞心悅目。

本書的第一章,對整潔代碼下了一個定義,同學們都應該銘記在心。

1、整潔的代碼力求專注,每個方法、每個類都應該全神貫注於一件事;命名更要給人一種“顧名思義”的感覺。

2、整潔的代碼簡單直接,從不隱藏設計者的意圖。

3、整潔的代碼應當有單元測試。

4、整潔的代碼拒絕重複,其表達力直擊人的心靈。

02、《設計模式之禪》

強烈推薦10本程序員必看的書


《設計模式之禪(第 2 版)》是設計模式領域公認的 3 本經典著作之一,也是我們國內程序員寫的一本書,趣味化十足,讀起來也非常容易理解。

同學們都聽說過,學習設計模式非常的重要,那麼為什麼這麼重要呢,設計模式到底是什麼?打個比喻學編程就像學武功一樣。

武功要練得很牛逼,有兩樣東西不能丟。第一,是內功;第二,是武功秘籍。內功對應到編程就是我們編程基礎能力,那編程的設計模式就可以想象成武術中的武功秘籍。

設計模式就是根據不同類型場景,設計優雅的(編碼)解決方案。學好設計模式有很多好處,比如,容易看懂經典代碼中的邏輯(很多優秀的開源框架大量使用了設計模式);應對面試時對答如流(設計模是面試重點);可以編寫出優雅的解決方案(或者代碼)。

03、《重構——改善既有的代碼設計》

強烈推薦10本程序員必看的書


這本書在業界的名聲也非常的響,只不過看起來就需要一些精力和耐力,上面這些書看完後,可以看這一本,對於重新審視現有代碼有極大的幫助。

重構代碼對提高整體的架構能力非常有幫助,因為是站在宏觀的角度去思考的。不然很容易把原有的功能給整出 bug 了。

04、《人月神話》

強烈推薦10本程序員必看的書


在軟件領域,很少能有像《人月神話》一樣具有深遠影響力並且暢銷不衰的著作。

作者為人們管理複雜項目提供了最具洞察力的見解,既有很多發人深省的觀點,又有大量軟件工程的實踐。

這本書算得上是飽經滄桑了,畢竟年月已久,但書中包含的思想恐怕永遠不會過時。我讀完後的感覺是,編程的確和生孩子有一定的相似性,追加人手會在一定程度上縮短項目週期,但並不能改變十月孕期的普遍規律。

05、《編程珠璣》

強烈推薦10本程序員必看的書


記得作者在前言中說過一句話:“一次不要讀太多,一章足矣。”

本書的確在強調算法,但是除了常規的算法,作者更多的是在表達出一種算法以外的思想:高效的算法沒錯,但是正確的事情應該用正確的方法來做。 每個算法都有高效的經典例子,但是什麼時候用什麼樣的算法,探究問題的本質,真正的優雅的解決問題,才是本書所要傳達的精神。

06、《程序是怎麼跑起來的》

強烈推薦10本程序員必看的書


本書和《計算機是怎麼跑起來的》是一對。這本書的特點就是書的開本比較小,全綵印刷,內容相對簡單,整本書很輕。兩本書結合起來讀會更有趣。

07、《黑客與畫家》

強烈推薦10本程序員必看的書


第一次看到這本書的書名時,感覺有點愛上的感覺。對於我們程序員來說,當一名“黑客”簡直不要太帥。

這是一本能引發技術人思考的佳作,真正意義上的黑客精神、創業、編程語言,是這本技術散文集的三個主題。阮一峰的翻譯很到位,很喜歡他的譯文。

08、《圖解 HTTP》

強烈推薦10本程序員必看的書


圖解,顧名思義,裡面有大量的圖片,可以幫助我們快速的理解 HTTP。對於我們程序員來說,懂得 HTTP 的大致原理,可以無形裝逼。

把一本書寫薄還好讀並且覆蓋主要的知識範圍並不是一件容易的事情。但是這本書做到的,而且從對 HTTP 知識的覆蓋程度到易讀性都做得相當好。

09、《軟技能:代碼之外的生存指南》

強烈推薦10本程序員必看的書


這本書的作者是真的牛逼,掙了很多錢,完全超乎我的想象。第一次讀的時候,感覺一個程序員原來還可以幹這麼多事,並且和編碼是不衝突的,大開眼界吧。

這本書中有一個觀點,就是有意識地建立和維護個人品牌,把自己當做一件產品,既要負責生產,保證品質,也要負責銷售,推向市場。這個觀點對於我來說,還是蠻有影響力的。

10、《算法》

強烈推薦10本程序員必看的書


可能很多同學會存在這樣一個誤區:算法在工作當中很少會用到,需要的時候面向搜索引擎解決一下就行了。

但我想說的是,跳槽的時候很有用,因為一些大廠就喜歡考算法。除此之外,算法對閱讀源碼也很有幫助;況且,誰不想做一名編程的藝術家呢?長期來看,大腦思考能力是一個人最重要的核心競爭力,而算法是為數不多的能夠有效訓練大腦思考能力的途徑之一。


分享到:


相關文章: