強烈推薦10本程式設計師在家讀的書

沉默王二發表於2020-02-05

很遺憾,這個鼠年春節註定是刻骨銘心的,新型冠狀病毒讓每個人的神經都是緊繃的。那些處在武漢的白衣天使們,尤其值得我們的尊敬。而我們這些窩在家裡的程式設計師,能不外出就不外出,就是對社會做出的最大的貢獻。

有些讀者私下問我,窩了幾天,有點頹喪,能否推薦幾本書在家裡看看。我花了一天的時間,挑選了 10 本我最喜歡的書,你可以挑選感興趣的來讀一讀。讀書不僅可以平復恐懼的壓力,還可以對未來充滿希望,畢竟苦難終將會被我們挺過去。

01、《程式碼整潔之道》

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

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

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

1、整潔的程式碼力求專注,每個方法、每個類都應該全神貫注於一件事;命名更要給人一種“顧名思義”的感覺。
2、整潔的程式碼簡單直接,從不隱藏設計者的意圖。
3、整潔的程式碼應當有單元測試。
4、整潔的程式碼拒絕重複,其表達力直擊人的心靈。

02、《設計模式之禪》

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

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

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

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

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


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

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

04、《人月神話》

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

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

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

05、《程式設計珠璣》


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

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

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


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

07、《黑客與畫家》

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

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

08、《圖解 HTTP》

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

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

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

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

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

10、《演算法》

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

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


好了,好了,就先推薦這 10 本書吧。希望你的春節過得有意義起來,畢竟不能跑出去浪了。

別瞅了,點個讚唄,你最美你最帥,祝你百毒不侵。關注[沉默王二]公眾號,回覆關鍵字[健康]獲取更多優質書單。

相關文章