程序員必讀的經典書籍

來源:文書谷 1.09W

程序員需要學習的知識地很多的,需要不斷的看書學習,才能不斷的提升自己。下面是由本站小編給大家帶來關於程序員必讀的書籍,希望對大家有幫助!

程序員必讀的經典書籍

程序員必讀的書籍

1.重構:改善既有代碼的設計(軟件開發的不朽經典)

何為重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。本書雖然使用Java語言書寫示例代碼,但是其概念與思想同樣適合 於其他語言。書中,作者以一些平淡無奇,甚至帶有壞味道的代碼開始,一步一步地修改轉變成更加靈活,可重用的代碼。通過書中的示例,你會清楚地明白什麼才 是整潔的代碼。重構其實依然成為經驗豐富的程序員的必備技能,當你想要改善重構代碼時,讀一讀這本書就會讓你有章可循,豁然開朗。

2.代碼整潔之道(Robert C. Martin力作,韓磊獻譯)

這是我最喜歡的一本書,不止一次我將它推薦給我的同事,讀者還有學生。我認為它可以稱得上軟件開發與編碼方便最好的一本書。Bob大叔我想無需做介紹,他寫 過一個關於敏捷開發的系列書籍,我的書架上就有他的 《代碼整潔之道》 , 《程序員的職業素養》 , 《敏捷軟件開發(原則模式與實踐)》 , 《敏捷軟件開發(原則模式與實踐)》 , 《UML for Java For Programmers》 , 《Extreme Programming in Practice》等這些書籍。雖然他的這些書有點老舊,但是這些書仍然很有價值,縱使數十年之後,這些書依舊受用,尤其是在面向對象編程方面。 本書不僅僅是告訴你要做什麼,還教會你什麼不能做。書中有關於代碼味道的一個章節,全面列舉了大多數程序員遇到的各種錯誤,其後的章節則詳細描述如何糾正 這些錯誤。比如如何將過長的switch聲明轉換成遵循開放閉合原則的模型,如何利用集成和多態。再次囉嗦一下,這本書確實值得每個程序員擁有。和上本書 一樣,書中的例子使用Java語言,但依然適合使用其他面向對象編程語言的開發者閲讀。想要擼的一手好碼,這本書必不可少。

3.代碼大全

兩屆Software Jolt Award震撼大獎得主!軟件開發世界的地圖,經典中的經典

想必這本書大家都曾閲讀過,這就是鼎鼎大名的《代碼大全》,從某個角度看,它其實就是C++版的《代碼整潔之道》。本書的目標就是幫開發者使用 做高質的代碼寫出更好的軟件。同樣書中也涉及了編程中常見問題和最佳實踐。這本書也可以稱得上是必讀書籍,尤其是對於C和C++程序員。《代碼大全(第2 版)》中所論述的技術不僅填補了初級與高級編程實踐之間的空白,而且也為程序員們提供了一個有關軟件開發技術的信息來源。《代碼大全(第2版)》對經驗豐 富的程序員、技術帶頭人、自學的程序員及沒有太多編程經驗的學生都是大有裨益的。可以説,只要您具有一定的編程基礎,想成為一名優秀的程序員,閲讀《代碼 大全(第2版)》都不會讓您失望。

4.單元測試的藝術

世界級軟件開發大師,設計模式和敏捷開發先驅,“Bob大叔”Robert C. Martin強力推薦

如果非要做一件改善項目,提高開發者水平的事情,我想那就是讓開發者掌握單元測試的能力。對於專業的開發者來説,單元測試是一項必備的技能,多數的程序員 卻不具備TDD(測試驅動開發)的能力。我雖然在不太遵循TDD這種模式,但是也會為自己寫的或維護的代碼編寫單元測試。對於工程來説,開源項目基本都嚴 格遵守執行單元測試,而很多商業的工程則在單元測試方面有所缺失。一個擁有單元測試的項目會變得更加容易維護和更改。本書會介紹成功的項目與失敗項目的差 別,可維護的代碼庫與不可維護的代碼庫之間的區別。本書示例為代碼,但這並不會影響你瞭解單元測試。如果你是一名技術負責人或者項目負責人,這本 書可以幫你更好地把控項目代碼質量。如果你看Java更舒服的話,也可以看一看這本書 《JUnit實戰(第2版)》 。

5.精益軟件開發管理之道

《精益軟件開發管理之道》是一本軟件開發方法學的書。作者從24個不同的視角,在更大的空間、時間、行業、文化背景下,考察了敏捷和精益方法。 《精益軟件開發管理之道》詳細闡述了敏捷和精益開發方法取得成功的深層原因。《精益軟件開發管理之道》包括以下內容:系統思考,以適當足夠的方式關注客 户;技術傑出,介紹了傑出軟件開發的基礎-低耦合的架構、測試驅動的開發過程等;可靠交付,討論了工作流和日程計劃,以及反饋的重要作用;無情改進,討論 了所有精益組織的基本特點:持續不斷、永不滿足的改進;卓越的人,卓越的結果來自於卓越的人;一致的領導,討論在領導團隊中達成一致。

6.設計模式:可複用面向對象軟件的基礎

這本書要麼你讀過,要麼就是聽説過,這就是經典的GOF(Gang of Four 中文譯為四人幫)設計模式一書。該書作者為四人,分別是Eric Gamma, Richard Helm, Ralph Johnson, 和John Vissides。四位頂尖的面向對象領域專家精心選取了最具價值的設計實踐,加以分類整理和命名,並用簡潔而易於重用的形式表達出來。本書已經成為面向 對象技術人員的聖經和詞典,書中定義的23個模式逐漸成為開發界技術交流所必備的基礎知識和語彙。使用這些設計模式,我們可以設計出靈活,優雅和可重用的 可擴展的設計。

7.細説PHP

51CTO“最受讀者喜愛的原創IT技術圖書”獎

《細説PHP》編寫的宗旨是讓讀者能擁有一本PHP方面的學習和開發使用的最好書籍,對所羅列出的每個知識點都進行了細化和延伸,併力求講解到位,讓讀 者可以輕鬆地讀懂。對於幾乎每個知識點都有對應且詳實的可運行的代碼配套,對所有實例代碼都附有詳細註釋、説明及運行效果圖。另外在每個章節的最後還為讀 者安排了大量的和本章知識點配套的授課課件及自測試題(附加在光盤中),能更好地幫助讀者掌握理論知識點,提高實際編程能力,寓學於練。對於入門與提高 PHP技術起到關鍵作用。

《細説PHP》作者高洛峯。現任北京LAMP兄弟連[1](易第優教育)教學總監,五年軟件開發工作經驗,四年IT教學工作經驗。曾在多家上市企業擔任過技 術總監、項目經理、高級軟件工程師等職務,具有紮實的技術功底。國內資深的高級技術認證講師,從事IT培訓以來累計授課長達6000課時以上,培訓近千名 學員成功走向IT崗位,具有豐富的IT教學經驗。

程序員的專業技術書

1、《數學之美》第二版

獲獎暢銷書《數學之美》第一版榮獲國家圖書館第八屆文津圖書獎。

第一版入選廣電總局“20xx年向全國青少年推薦百種優秀圖書書目”,榮獲20xx-20xx年度全行業優秀暢銷書。

信息領域大學生必讀好書,央視新聞推薦的學科敲門磚。

新版增加了大數據和機器學習等最新內容,以滿足人們對當下技術的學習需求;同時,根據專家和讀者的反饋更正了錯漏,並更新了部分內容。

《數 學之美》第一版上市後深受廣大讀者歡迎,並榮獲國家圖書館第八屆文津圖書獎。讀者説,讀了《數學之美》,才發現大學時學的數學知識,比如馬爾科夫鏈、矩陣 計算,甚至餘弦函數原來都如此親切,並且栩栩如生,才發現自然語言和信息處理這麼有趣。而今,數學在信息產業中的應用越來越廣泛,因此,作者在第二版中增 加了一些內容,尤其是針對大數據和機器學習的內容,以便滿足人們對當下技術的學習需求。

2、文明之光 第三冊

吳軍博士繼獲獎暢銷書《浪潮之巔》、《數學之美》之後的跨界之作

為您講述他眼中的超越上下五千年的人類文明史

隨文津獎得主一起體會科技與人文之美

作 者所選的創作素材來自於十幾年來在世界各地的所見所聞,對其內容都有着深刻的體會和認識。《文明之光》系列第三冊每個章節依然相對獨立,書中全景式地展現 了人類文明發展歷程中的多樣性。內容涉及音樂、美術、計算機、互聯網、金融、硅谷對世界科技發展的啟迪、微粒子和宇宙天文學、環境保護八個專題。

3、構建之法:現代軟件工程

“做中學 Learning By Doing”的現代方式教授軟件工程

李未院士鼎力推薦,眾多軟工教師一致好評

微軟研發總監鄒欣力作

推薦軟件工程專業學子閲讀,瞭解軟件工程真正內涵,懂得“工程”二字真正含義,知道軟件工程和計算機科學的區別。瞭解之後,就知道為何軟件工程是就業含金量較高的行業了。

書中設想了大量的場景“學”和“習”,並且用了大量的類比,非常生動有趣。這本教材也對軟件工程課老師提出了更高的要求;對學生而言,同樣面臨着要付出怎樣的努力才能學到“乾貨”的選擇。

《構建之法:現代軟件工程》共分17章,對照美國ACM/IEEE20xx年新出版的計算機科學教學指導 (Computer ScienceCurricula 20xx)中的軟件工程相關部分,這本教材覆蓋了其中大多數Core-Tier1和Core-Tier2的內容。可以説,全書對軟件工程內容的覆蓋不遜於 任何一本現行的教材,同時講述了業界最新實踐方法。

程序員看的好書籍

1.《哥德爾、埃舍爾、巴赫》

豆瓣評分:9.4 分

作者簡介:道格拉斯·理查·郝夫斯台特,中文名侯世達,美國學者、作家。他的主要研究領域包括意識、類比、藝術創造、文學翻譯以及數學和物理學探索。 因其著作《哥德爾、埃舍爾、巴赫》獲得普立茲獎(非小説類別)和美國國家經典獎(科學類別)。

推薦理由:這是一部天書。在數學,繪畫,音樂和故事中暢遊,卻在探討哲學中最深刻的問題:意識和靈魂如何產生,從哲學角度探討人工智能和人類智能。當你看完書後,也許你具體記不得太多細節,但是不經意間你會發現它已經深深地影響了你的世界觀。

2.《算法導論》

豆瓣評分:9.4 分

作者簡介:托馬斯·科爾曼,達特茅斯學院計算機科學系教授、系主任;查爾斯·雷瑟爾森,麻省理工學院計算機科學與電氣工程系教授,他目前主持 MIT 超級計算技術研究組,並是 MIT 計算機科學和人工智能實驗室計算理論研究組的成員;羅納德·李維斯特,現任麻省理工學院電子工程和計算機科學系安德魯與厄納·維特爾比(Andrew and Erna Viterbi)教授。他是 MIT 計算機科學和人工智能實驗室的成員,並領導着其中的信息安全和隱私中心。他現在擔任國家密碼學會的負責人;克利福德·斯坦,哥倫比亞大學計算機科學系和工業工程與運籌學系教授,他還是工業工程與運籌學系的系主任。

推薦理由:這本書深入淺出,全面地介紹了計算機算法。對每一個算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。涵蓋的內容有:算法在計算中的作用,概率分析和隨機算法的介紹。書中專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似算法等,還有有關遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統計算法,以及對貪心算法元素的討論。此書還介紹了對強連通子圖算法正確性的證明,對哈密頓迴路和子集求和問題的 NP 完全性的證明等內容。

熱門標籤