強烈推薦10本程序員必讀的書(強烈推薦10本程序員必讀的書籍)
強烈推薦10本程序員必讀的書(強烈推薦10本程序員必讀的書籍)
經常有讀者私下問我,能否推薦幾本書,以便空閑的時間讀一讀。于是我跑去自己的書架上篩選了 10 本我最喜歡的書,你可以挑選感興趣的來讀一讀。
01、《代碼整潔之道》
我可以這么肯定地說:《代碼整潔之道》值得所有的程序員讀一讀。軟件的質量,不僅依賴于架構,更與代碼質量息息相關。而代碼的質量與其整潔度成正比關系,越整潔的代碼,其質量毫無疑問的就會越高。
如何寫出整潔的代碼呢?Keep It Simple Stupid:代碼簡單直接,不僅能夠提高代碼的效率,還能夠讓閱讀代碼的人賞心悅目。
本書的第一章,對整潔代碼下了一個定義,同學們都應該銘記在心。
1、整潔的代碼力求專注,每個方法、每個類都應該全神貫注于一件事;命名更要給人一種“顧名思義”的感覺。
2、整潔的代碼簡單直接,從不隱藏設計者的意圖。
3、整潔的代碼應當有單元測試。
4、整潔的代碼拒絕重復,其表達力直擊人的心靈。
02、《設計模式之禪》
《設計模式之禪(第 2 版)》是設計模式領域公認的 3 本經典著作之一,也是我們國內程序員寫的一本書,趣味化十足,讀起來也非常容易理解。
同學們都聽說過,學習設計模式非常的重要,那么為什么這么重要呢,設計模式到底是什么?打個比喻學編程就像學武功一樣。
武功要練得很牛逼,有兩樣東西不能丟。第一,是內功;第二,是武功秘籍。內功對應到編程就是我們編程基礎能力,那編程的設計模式就可以想象成武術中的武功秘籍。
設計模式就是根據(jù)不同類型場景,設計優(yōu)雅的(編碼)解決方案。學好設計模式有很多好處,比如,容易看懂經典代碼中的邏輯(很多優(yōu)秀的開源框架大量使用了設計模式);應對面試時對答如流(設計模是面試重點);可以編寫出優(yōu)雅的解決方案(或者代碼)。
03、《重構——改善既有的代碼設計》
這本書在業(yè)界的名聲也非常的響,只不過看起來就需要一些精力和耐力,上面這些書看完后,可以看這一本,對于重新審視現(xiàn)有代碼有極大的幫助。
重構代碼對提高整體的架構能力非常有幫助,因為是站在宏觀的角度去思考的。不然很容易把原有的功能給整出 bug 了。
04、《人月神話》
在軟件領域,很少能有像《人月神話》一樣具有深遠影響力并且暢銷不衰的著作。
作者為人們管理復雜項目提供了最具洞察力的見解,既有很多發(fā)人深省的觀點,又有大量軟件工程的實踐。
這本書算得上是飽經滄桑了,畢竟年月已久,但書中包含的思想恐怕永遠不會過時。我讀完后的感覺是,編程的確和生孩子有一定的相似性,追加人手會在一定程度上縮短項目周期,但并不能改變十月孕期的普遍規(guī)律。
05、《編程珠璣》
記得作者在前言中說過一句話:“一次不要讀太多,一章足矣?!?/p>
本書的確在強調算法,但是除了常規(guī)的算法,作者更多的是在表達出一種算法以外的思想:高效的算法沒錯,但是正確的事情應該用正確的方法來做。 每個算法都有高效的經典例子,但是什么時候用什么樣的算法,探究問題的本質,真正的優(yōu)雅的解決問題,才是本書所要傳達的精神。
06、《程序是怎么跑起來的》
本書和《計算機是怎么跑起來的》是一對。這本書的特點就是書的開本比較小,全彩印刷,內容相對簡單,整本書很輕。兩本書結合起來讀會更有趣。
07、《黑客與畫家》
第一次看到這本書的書名時,感覺有點愛上的感覺。對于我們程序員來說,當一名“黑客”簡直不要太帥。
這是一本能引發(fā)技術人思考的佳作,真正意義上的黑客精神、創(chuàng)業(yè)、編程語言,是這本技術散文集的三個主題。阮一峰的翻譯很到位,很喜歡他的譯文。
08、《圖解 HTTP》
圖解,顧名思義,里面有大量的圖片,可以幫助我們快速的理解 HTTP。對于我們程序員來說,懂得 HTTP 的大致原理,可以無形裝逼。
把一本書寫薄還好讀并且覆蓋主要的知識范圍并不是一件容易的事情。但是這本書做到的,而且從對 HTTP 知識的覆蓋程度到易讀性都做得相當好。
09、《軟技能:代碼之外的生存指南》
這本書的作者是真的牛逼,掙了很多錢,完全超乎我的想象。第一次讀的時候,感覺一個程序員原來還可以干這么多事,并且和編碼是不沖突的,大開眼界吧。
這本書中有一個觀點,就是有意識地建立和維護個人品牌,把自己當做一件產品,既要負責生產,保證品質,也要負責銷售,推向市場。這個觀點對于我來說,還是蠻有影響力的。
10、《算法》
可能很多同學會存在這樣一個誤區(qū):算法在工作當中很少會用到,需要的時候面向搜索引擎解決一下就行了。
但我想說的是,跳槽的時候很有用,因為一些大廠就喜歡考算法。除此之外,算法對閱讀源碼也很有幫助;況且,誰不想做一名編程的藝術家呢?長期來看,大腦思考能力是一個人最重要的核心競爭力,而算法是為數(shù)不多的能夠有效訓練大腦思考能力的途徑之一。
好了,好了,就先推薦這 10 本書吧。
我是一個有著多年工作經驗的Java工程師,關于Java,自己有做材料的整合,一個完整學習Java的學習路線,學習材料和工具。需要的伙伴可以私信我,發(fā)送“編程”等3秒后就可以獲取領取地址,免費送給大家。