每一個認真的程序員都應該讀的10本經典書籍


書是知識和智慧的源泉,但是在今天已經很少有人讀書了。程序員讀書的情況更是少之又少,相反在更多的情況下我們是依賴網絡去尋找答案。

科技正高速的向前發展,這個速度超過了人類歷史上的任何時期,每隔幾個月就會有新的編程語言或者工具產生以此彌補現有語言和工具的不足。

然而事實卻是先前很多爲人已經碰到了相同的問題並且找出了最好的解決方法,這些方法已經被編入了一些偉大的書中。

開發者可以從下面列出的書中選擇其中的幾本來閱讀

The Pragmatic Programmer

這並不是我們所認爲的一本普通的帶有大量代碼的編程書籍,事實上可以說它和任何編程語言都沒有關係,相反的是這本書所包含的思想可以應用於任何編程語言。
這本書中包含的內容很廣泛,像從模型中分離視圖、打造一個高效的團隊、避免重複知識等等都有涉及。此書不僅能改變你的編碼習慣,它還將改變你作爲一個程序員的品性。除此之外本書對你和你的代碼之間也提出了很多具有實際意義的建議。



The Mythical Man-month: Essays on Software Engineering

這絕對是經典,一直以來都被作爲軟件領域的‘聖經’,在十九世紀七十年代首次出版,書中提到的很多概念在今天看來更加具有實際意義。不幸的是今天我們在軟件開發中每年都在重複着書中所提到的那些錯誤的理念。因此這是每一個項目管理員和開發者都必須讀的一本書。
正如題目所示,這是一本觀點的集合。不過它是那樣的經典,其唯一的缺點就是書中還在使用25年前的技術,但是這一點兒也不會削減這本書的價值。

Clean Code: A Handbook of Agile Software Craftsmanship

在軟件行業這是一本史詩般的鉅著,這本書不僅告訴你怎樣寫出好的代碼,並且還能使你在軟件開發中變得更有效率。
這本書描述了編寫整潔代碼的原則,模式和實踐方法。書中學習整理代碼的一些例子對於任何一個開發人員來說都是很有價值的。
書中所有的例子都是用java語言寫的,但是學習方式對任何語言都是使用的。


The Clean Coder: A Code of Conduct for Professional Programmers

這是Rob Martin寫的第二本書,強烈推薦在閱讀完第一本Clean Code以後在閱讀這本書,前者是關於Code(代碼),而這本書是關於Coder(程序員)的。
·這本書討論了程序員經常忽略的一些問題
·專業的程序員意味着什麼
·如何將你自己看作一名真正的軟件製作者
·處理衝突和工期緊的問題
·如何管理你的時間、如何擴展你的技能
·什麼時候應該說‘不’
·釋放壓力
等等


Refactoring: Improving the Design of Existing Code

無論你多麼努力,你的代碼都不會是最優的除非你去改進它。因此,即使你的代碼能正常工作,也必須對你的代碼進行重構。
本書首先介紹了重構的原則:爲什麼要重構以及什麼時候重構,如何解決重構的管理問題等等。接着本書將帶你參觀如何改進你的代碼。
本書所有的例子都是由Java編寫


Working Effectively With Legacy Code

我們每個人都會做一些自己所討厭的事情,對於程序員來說最討厭的事情莫過於接着前人遺留下來的代碼進行編程,這也是我們在工作中不可避免的情況。
如何修改遺留代碼?如何確定需要重構的部分?如何打破你要重構的代碼之間的依賴性?如何保證你新寫的代碼能正常的工作?如何進行很小的改動來重構遺留代碼?
以上都是很關鍵的問題,這本書中都給出了關鍵性的回答。如果我必須用一句話來概括這本書的本質的話那就是:“寫單元測試,重構代碼,保證測試能通過”。


Code Complete: A Practical Handbook of Software Construction

這是一項巨大的工作,對於任何一個想學習程序架構和最好的實踐的人來說,這都是必須閱讀的一本書。這是一本真正的百科全書——在最新一版中有960頁。不要讓這本書的頁數嚇住你,你可以用你自己的速度讀完它,當你堅持讀完這本書以後,你會很感激你讀了這本書。
書中探索了軟件開發的每一個方面。從對於代碼結構,代碼格式還有變量中的所有的問題這本書都提出了實用的建議;然後是方法和類的命名;一直到如何管理一個團隊。而且書中提供了大量的可以覆蓋特定主題的參考文獻和額外的資料,這些文獻和資料也是很值得我們閱讀。


Head First Design Patterns

這是一本最非技術排版的編程書,每一頁都包含塗鴉、圖片和其他引人注目的東西。因此它可能給人一種很容易閱讀的印象,但是它卻討論了編程中相當核心的話題——設計模式。
這本書並沒有涵蓋當前所有的設計模式,然而書中卻覆蓋了你需要的所有的設計模式。它將幫助你構造功能性的、高雅的、可重用的以及靈活的軟件。而且書中還指出如何在各個設計模式中保持一個平衡。大多數關於設計模式的書都只是討論瞭如何實現設計模式,本書的作者也討論了爲什麼以及如何使用設計模式。


Peopleware: Productive Projects and Teams

這不是一本編程書,這是一本關於管理和激勵程序員的書。很多時候,程序員(尤其是缺少經驗的程序員)不能理解管理的思維過程,所以說對於開發人員來說這也是必須讀的一本書。
軟件開發是一個創造性的過程,但是大多數管理者將它看成是一個流水線過程,將開發者看作這臺機器上的齒輪,並且將給開發者很短的時間作爲提高開發者積極性的唯一方法。他們不關心開發者開心疑惑悲傷,不去理解開發人員或者他們的薪水。
如果你是一個管理員,如果你想要的是軟件的質量而不是數量,請讀一讀這本書,裏面肯定會有你想要的。


Soft Skills: The Software Developer's Life Manual

同樣,這也不是一本關於編程的書籍,但是每一個程序員應該讀一讀這本書。
這是一本關於開發人員生活中其它方面的偉大書籍,它涉及到開發人員生活中可能出現的每件事情——關於你的職業、生活、身體、思想,不管你信抑或不信她還包含了靈魂。
作者本人就遵循書中的這些方式,現在他也是相當成功了。他的個人網站表明他已經可以放棄在早期的30年的工作。作者已經通過簡短整潔的章節將工作生涯,銷售你自己,學習,生產力,財產,健康和精神這些生活經驗表達的淋漓盡致。每一章節都可以在一杯咖啡的時間充分的閱讀完畢。

翻譯原文:https://dzone.com/articles/must-read-book-list-for-programmers

除非註明轉載,本站文章均爲原創,歡迎轉載,轉載請以鏈接形式註明出處

本文地址:http://www.onmpw.com/tm/qwzt/dsyg_77.html

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