推特上一位名為 Pierre de Wulf 的網友突發奇想,有史以來最受歡迎的編程書籍到底是哪些?為了找到程式設計師們最為推崇的那些編程書籍,他使用 Python編寫了腳本,拉取了大量的相關數據,最終得出了這 25 本技術好書。以下是推薦結果。
程式設計師修煉之道:從小工到專家
作者:David Thomas & Andrew Hunt,67% 推薦度
《程式設計師修煉之道》由一系列的獨立部分組成,涵蓋的主題從個人責任、職業發展,直到用於使代碼保持靈活、並且易於改編和復用的各種架構技術。利用許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟體開發的許多不同方面的最佳實踐和重大陷阱。無論你是初學者,是有經驗的程式設計師,還是軟體項目經理,本書都適合你閱讀。
代碼整潔之道
作者:Robert C. Martin,66% 推薦度
軟體質量,不但依賴於架構及項目管理,而且與代碼質量緊密相關。這一點,無論是敏捷開發流派還是傳統開發流派,都不得不承認。本書提出一種觀念:代碼質量與其整潔度成正比。乾淨的代碼,既在質量上較為可靠,也為後期維護、升級奠定了良好基礎。作為編程領域的佼佼者,本書作者給出了一系列行之有效的整潔代碼操作實踐。這些實踐在本書中體現為一條條規則(或稱「啟示」),並輔以來自現實項目的正、反兩面的範例。只要遵循這些規則,就能編寫出乾淨的代碼,從而有效提升代碼質量。
代碼大全(第 2 版)
作者:Steve McConnell,42% 推薦度
這是一本完整的軟體構建手冊,涵蓋了軟體構建過程中的所有細節。它從軟體質量和編程思想等方面論述了軟體構建的各個問題,並詳細論述了緊跟潮流的新技術、高屋建瓴的觀點、通用的概念,還含有豐富而典型的程序示例。這本書中所論述的技術不僅填補了初級與高級編程技術之間的空白,而且也為程式設計師們提供了一個有關編程技巧的信息來源。這本書對經驗豐富的程式設計師、技術帶頭人、自學的程式設計師及幾乎不懂太多編程技巧的學生們都是大有裨益的。可以說,無論是什麼背景的讀者,閱讀這本書都有助於在更短的時間內、更容易地寫出更好的程序。
重構:改善既有代碼的設計
作者:Martin Fowler,35% 推薦度
重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。多年前,正是本書原版的出版,使重構終於從編程高手們的小圈子走出,成為眾多普通程式設計師日常開發工作中不可或缺的一部分。本書也因此成為與《設計模式》齊名的經典著作,被譯為中、德、俄、日等眾多語言,在世界範圍內暢銷不衰。
深入淺出設計模式
作者:Eric Freeman / Bert Bates / Kathy Sierra / Elisabeth Robson,29.4% 推薦度
《深入淺出設計模式》(影印版) 的編寫運用許多最新的研究,包括神經生物學、認知科學以及學習理論,這使得《深入淺出設計模式》(影印版) 能夠將這些設計模式深深地烙印在你的腦海中,不容易被遺忘。你將會更擅長於解決軟體設計中的問題,並能夠和你的團隊成員用模式的語言來更好地溝通。
人月神話
作者:Frederick P. Brooks Jr,27.9% 推薦度
作者為人們管理複雜項目提供了頗具洞察力的見解,既有很多發人深省的觀點,也有大量的軟體工程實踐。書中的內容來自布魯克斯在 IBM 公司 System 360 家族和 OS 360 中的項目管理經驗。初版的 20 年後,布魯克斯重新審視了他原先的觀點,增加了一些新的想法和建議。新增加的章節包括:原著中一些核心觀點的精華;在經過了一個時代以後,Brooks 博士對原先觀點新的認識;1986 年的經典文章《沒有銀彈》;對 1986 年所下論斷(在 10 年內不會出現銀彈)現在的認識。
程式設計師的職業素養
作者:Robert Martin,27.9% 推薦度
本書是編程大師 Bob 大叔 40 餘年編程生涯的心得體會, 講解成為真正專業的程式設計師需要什麼樣的態度、原則,需要採取什麼樣的行動。作者以自己以及身邊的同事走過的彎路、犯過的錯誤為例,意在為後來人引路,助其職業生涯邁上更高臺階。本書適合所有程式設計師,也可供所有想成為具備職業素養的職場人士參考。
修改代碼的藝術
作者:Michael Feathers,26.4% 推薦度
本書是繼《重構》和《重構與模式》之後探討修改代碼技術的又一裡程碑式的著作,書中不僅講述面向對象語言(Java、C#和 C++)代碼,也有專章討論 C 這樣的過程式語言。作者將理解、測試和修改代碼的原理、技術和最新工具(自動化重構工具、單元測試框架、仿對象、集成測試框架等),與解依賴技術和大量開發和設計優秀代碼的原則、最佳實踐相結合,許多內容非常深入,而且常常發前人所未發。書中處處體現出作者獨到的洞察力,以及多年開發和指導軟體項目所積累的豐富經驗和深厚功力。通過這部集大成之作,你不僅能掌握最頂尖的修改代碼技術,還可以大大提高對代碼和軟體開發的領悟力。
設計模式:可復用面向對象軟體的基礎
作者:Erich Gamma / Richard Helm / Ralph Johnson / John Vlissides,25% 推薦度
這本書結合設計實作例從面向對象的設計中精選出 23 個設計模式,總結了面向對象設計中最有價值的經驗,並且用簡潔可復用的形式表達出來。書中分類描述了一組設計良好、表達清楚的軟體設計模式,這些模式在實用環境下特別有用。此書適合大學計算機專業的學生、研究生及相關人員參考。書中涉及的設計模式並不描述新的或未經證實的設計,只收錄了那些在不同系統中多次使用過的成功設計。
程式設計師面試金典
作者:Gayle Laakmann McDowell,22% 推薦度
本書是原谷歌資深面試官的經驗之作,層層緊扣程式設計師面試的每一個環節,全面而詳盡地介紹了程式設計師應當如何應對面試,才能在面試中脫穎而出。第 1~7 章主要涉及面試流程解析、面試官的幕後決策及可能提出的問題、面試前的準備工作、對面試結果的處理等內容;第 8~9 章從數據結構、概念與算法、知識類問題和附加面試題 4 個方面,為讀者呈現了出自微軟、蘋果、谷歌等多家知名公司的 150 道編程面試題,並針對每一道面試題目,分別給出了詳細的解決方案。
11-25 名書籍詳情
軟技能 : 代碼之外的生存指南,22% 推薦度Soft Skills by John Sonmez點石成金 : 訪客至上的網頁設計秘笈,19.1% 推薦度Don’t Make Me Think by Steve Krug編碼,19.1% 推薦度Code by Charles Petzold算法導論,17.6% 推薦度Introduction to Algorithms by Thomas H. Cormen / Charles E. Leiserson / Ronald L. Rivest / Clifford Stein人件,17.6% 推薦度Peopleware by Tom DeMarco & Tim Lister編程珠璣,16.1% 推薦度Programming Pearls by Jon Bentley企業應用架構模式,14.7% 推薦度Patterns of Enterprise Application Architecture by Martin Fowler電腦程式的構造和解釋,13.2% 推薦度Structure and Interpretation of Computer Programs by Harold Abelson / Gerald Jay Sussman / Julie Sussman電腦程式設計藝術,10.2% 推薦度The Art of Computer Programming領域驅動設計 : 軟體核心複雜性應對之道,10.2% 推薦度Domain-Driven Design by Eric Evans編程人生 : 15 位軟體先驅訪談錄,推薦度 10.2%Coders at Work by Peter Seibel快速軟體開發 : 有效控制與完成進度計劃,推薦度 8.8%Rapid Development by Steve McConnellThe Self-Taught Programmer,8.8% 推薦度(暫無中文版)算法,8.8% 推薦度Algorithms by Robert Sedgewick & Kevin Wayne持續交付 : 發布可靠軟體的系統方法,8.8% 推薦度Continuous Delivery by Jez Humble & David Farley以上的編程經典,你看過哪幾本?還有哪些中文作者的編程書籍是你強烈推薦的?
關注我並轉發此篇文章,私信我「領取資料」,即可免費獲得InfoQ價值4999元迷你書!