① 程序員必讀的經典書籍
程序員需要學習的知識地很多的,需要不斷的看書學習,才能不斷的提升自己。下面是由我給大家帶來關於程序員必讀的書籍,希望對大家有幫助!
程序員必讀的書籍
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這種模式,但是也會為自己寫的或維護的代碼編寫單元測試。對於工程來說,開源項目基本都嚴 格遵守執行單元測試,而很多商業的工程則在單元測試方面有所缺失。一個擁有單元測試的項目會變得更加容易維護和更改。本書會介紹成功的項目與失敗項目的差 別,可維護的代碼庫與不可維護的代碼庫之間的區別。本書示例為.NET代碼,但這並不會影響你了解單元測試。如果你是一名技術負責人或者項目負責人,這本 書可以幫你更好地把控項目代碼質量。如果你看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、《數學之美》第二版
獲獎暢銷書《數學之美》第一版榮獲國家圖書館第八屆文津圖書獎。
第一版入選廣電總局「2014年向全國青少年推薦百種優秀圖書書目」,榮獲2012-2013年度全行業優秀暢銷書。
信息領域大學生必讀好書,央視新聞推薦的學科敲門磚。
新版增加了大數據和機器學習等最新內容,以滿足人們對當下技術的學習需求;同時,根據專家和讀者的反饋更正了錯漏,並更新了部分內容。
《數 學之美》第一版上市後深受廣大讀者歡迎,並榮獲國家圖書館第八屆文津圖書獎。讀者說,讀了《數學之美》,才發現大學時學的數學知識,比如馬爾科夫鏈、矩陣 計算,甚至餘弦函數原來都如此親切,並且栩栩如生,才發現自然語言和信息處理這么有趣。而今,數學在信息產業中的應用越來越廣泛,因此,作者在第二版中增 加了一些內容,尤其是針對大數據和機器學習的內容,以便滿足人們對當下技術的學習需求。
2、文明之光 第三冊
吳軍博士繼獲獎暢銷書《浪潮之巔》、《數學之美》之後的跨界之作
為您講述他眼中的超越上下五千年的人類文明史
隨文津獎得主一起體會科技與人文之美
作 者所選的創作素材來自於十幾年來在世界各地的所見所聞,對其內容都有著深刻的體會和認識。《文明之光》系列第三冊每個章節依然相對獨立,書中全景式地展現 了人類文明發展歷程中的多樣性。內容涉及音樂、美術、計算機、互聯網、金融、矽谷對世界科技發展的啟迪、微粒子和宇宙天文學、環境保護八個專題。
3、構建之法:現代軟體工程
「做中學 Learning By Doing」的現代方式教授軟體工程
李未院士鼎力推薦,眾多軟工教師一致好評
微軟研發總監鄒欣力作
推薦軟體工程專業學子閱讀,了解軟體工程真正內涵,懂得「工程」二字真正含義,知道軟體工程和計算機科學的區別。了解之後,就知道為何軟體工程是就業含金量較高的行業了。
書中設想了大量的場景「學」和「習」,並且用了大量的類比,非常生動有趣。這本教材也對軟體工程課老師提出了更高的要求;對學生而言,同樣面臨著要付出怎樣的努力才能學到「干貨」的選擇。
《構建之法:現代軟體工程》共分17章,對照美國ACM/IEEE2013年新出版的計算機科學教學指導 (Computer ScienceCurricula 2013)中的軟體工程相關部分,這本教材覆蓋了其中大多數Core-Tier1和Core-Tier2的內容。可以說,全書對軟體工程內容的覆蓋不遜於 任何一本現行的教材,同時講述了業界最新實踐方法。
程序員看的好書籍
1.《哥德爾、埃舍爾、巴赫》
豆瓣評分:9.4 分
作者簡介:道格拉斯·理查·郝夫斯台特,中文名侯世達,美國學者、作家。他的主要研究領域包括意識、類比、藝術創造、文學翻譯以及數學和物理學探索。 因其著作《哥德爾、埃舍爾、巴赫》獲得普立茲獎(非小說類別)和美國國家經典獎(科學類別)。
推薦理由:這是一部天書。在數學,繪畫,音樂和 故事 中暢游,卻在探討哲學中最深刻的問題:意識和靈魂如何產生,從哲學角度探討人工智慧和人類智能。當你看完書後,也許你具體記不得太多細節,但是不經意間你會發現它已經深深地影響了你的世界觀。
2.《演算法導論》
豆瓣評分:9.4 分
作者簡介:托馬斯·科爾曼,達特茅斯學院計算機科學系教授、系主任;查爾斯·雷瑟爾森,麻省理工學院計算機科學與電氣工程系教授,他目前主持 MIT 超級計算技術研究組,並是 MIT 計算機科學和人工智慧實驗室計算理論研究組的成員;羅納德·李維斯特,現任麻省理工學院電子工程和計算機科學系安德魯與厄納·維特爾比(Andrew and Erna Viterbi)教授。他是 MIT 計算機科學和人工智慧實驗室的成員,並領導著其中的信息安全和隱私中心。他現在擔任國家密碼學會的負責人;克利福德·斯坦,哥倫比亞大學計算機科學系和工業工程與運籌學系教授,他還是工業工程與運籌學系的系主任。
推薦理由:這本書深入淺出,全面地介紹了計算機演算法。對每一個演算法的分析既易於理解又十分有趣,並保持了數學嚴謹性。本書的設計目標全面,適用於多種用途。涵蓋的內容有:演算法在計算中的作用,概率分析和隨機演算法的介紹。書中專門討論了線性規劃,介紹了動態規劃的兩個應用,隨機化和線性規劃技術的近似演算法等,還有有關遞歸求解、快速排序中用到的劃分方法與期望線性時間順序統計演算法,以及對貪心演算法元素的討論。此書還介紹了對強連通子圖演算法正確性的證明,對哈密頓迴路和子集求和問題的 NP 完全性的證明等內容。
猜你喜歡:
1. 程序員們的專業技術書分享
2. linux程序員必看書籍推薦
3. java程序員必看的書籍推薦
4. 清華大學推薦的青少年閱讀書目
5. 文藝青年必看的書
② 如何成為編程高手,程序員要看什麼樣的書籍,有經驗的人說一聲,做好是大師級別的人物
作者:金蝶中間件公司CTO袁紅崗
不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。
1. 扎實的基礎。數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握他們,很難寫出高水平的程序。據我的觀察,學計算機專業的人比學其他專業的人更能寫出高質量的軟體。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。
2. 豐富的想像力。不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。另外,多看科幻電影也是一個很好的途徑。
3. 最簡單的是最好的。這也許是所有科學都遵循的一條准則,如此復雜的質能互換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4. 不鑽牛角尖。當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,而且是那種極暴力的打鬥類游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5. 對答案的渴求。人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6. 多與別人交流。三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7. 良好的編程風格。注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8. 韌性和毅力。這也許是"高手"和一般程序員最大的區別。A good programming is 99 weat and 1ffee。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
③ 零基礎如何自學編程成為一名程序員,有哪些書推薦
在線學習網站很多,但是在線教育的視頻並不是全部免費,有些免費的學習教程只會讓你看一小部分,目的是吸引你買付費的課程。因為知識本身是無價的,如果沒有回報,創作者如何投入更多的時間和精力去完成更多的更優質的課程呢。下面介紹幾個大家常見的在線教育平台,大平台,課程種類多,選擇多。
一、B站
B站雖然不是專業的在線教育視頻網站,但是該平台內容多,用戶流量大,很多教育創作者還是會上傳很多優質的教程上傳於B站去擴大自己的影響力。所以,如果你想要找一些免費的學習視頻,可以來B站先搜索一下,B站選擇多,沒有廣告,不收費。
二、騰訊課堂
騰訊課堂是騰訊推出的專業在線教育平台,聚合大量優質教育機構和名師,下設職業培訓、公務員考試、托福雅思、考證考級、英語口語、中小學教育等眾多在線學習精品課程,打造老師在線上課教學、學生及時互動學習的課堂。
三、網易雲課堂
雲課堂,是網易公司傾力打造的在線實用技能學習平台,主要為學習者提供海量、優質的課程,課程結構嚴謹,用戶可以根據自身的學習程度,自主安排學習進度。立足於實用性的要求,雲課堂精選各類課程,課程數量已達10000+,課時總數超100000,涵蓋實用軟體、IT與互聯網、外語學習、生活家居、興趣愛好、職場技能、金融管理、考試認證、中小學、親子教育等十餘大門類,其中不乏數量可觀、製作精良的獨家課程。
四、慕課
中國大學MOOC是由網易與高教社攜手推出的在線教育平台,承接教育部國家精品開放課程任務,向大眾提供中國知名高校的MOOC課程。在這里,每一個有意願提升自己的人都可以免費獲得更優質的高等教育。
五、極客學院
極客—jiker,是一群熱愛技術、熱愛教育的極客們,一起創辦的國內領先的 IT 在線咨詢及教育平台。
六、課堂在線
學堂在線是清華大學於2013年10月發起建立的慕課平台,是教育部在線教育研究中心的研究交流和成果應用平台,是國家2016年首批雙創示範基地項目,是中國高等教育學會產教融合研究分會副秘書長單位,也是聯合國教科文組織(UNESCO)國際工程教育中心(ICEE)的在線教育平台。目前,學堂在線運行了來自清華大學、北京大學、復旦大學、中國科技大學,以及麻省理工學院、斯坦福大學、加州大學伯克利分校等國內外一流大學的超過2300門優質課程,覆蓋13大學科門類。
其實,自學網站很多,而且每個方向都會有很多專業學習網站,就不再一一列舉了。
教育網站千千萬,學習方式也很多,不管是通過自學網站學習還是看書學習,都需要學習者自覺且堅持,才能真正的學到東西。不然收集再多優質的課程,也只會躺在你的收藏夾,進不了你的大腦。希望你能通過以上分享找到你喜歡的自學網站和喜歡的教程,然後通過學習提升自己。
④ 求程序員入門書籍,我是學C++的,想考個初級程序員
下面是我根據別人的提示和自己的參考總結出的幾個階段的書籍,希望對你有幫助!!
第一階段:
1::H.M.Deitel和P.J.Deitel的《 C++ How to Program 》(C++大學教程)
2:: 錢能的《C++程序設計教程》
3::Stanley B.lippman著 侯捷 譯的《essential c++》
4::Stanley B.Lippman,Josee LaJoie,Barbara E.Moo的《c++ primer》
5::Bjarne Stroustrup的《the c++ programming language》
第二階段:
1::Scott Meyers的《effective c++》
2::Herb Sutter的《exceptional c++》
3::Scott Meyers的《more effective c++》
4::Herb Sutter的《more exceptional c++》
第三階段:
1::Stanley B.lippman的《insied the c++ object model》(深度探索C++ 對象模型)
2::Bjarne Stroustrup的《The design and evolution of c++》(C++的設 計與演化)
3::tephen C. Dewhurst的《C++ Gotchas: Avoiding Common Problems in Coding and Design》(C++程序設計陷阱)
第四階段:
1:: Nicolai M.Josuttis的《the c++ standard library》(C++標准程序庫 —自修教程與參考手冊)
2::Scott Meyers的《effective stl》
3::Matthew H. Austern的《generic programming and the stl》(泛型編 程與STL)
4::侯捷的 《stl源碼剖析》
第五階段:
1::Herb Sutter的《exeptional c++ style》
2::《c++ template》
3::Andrei Alexandrescu的《modern c++ design》
第六階段
1::《C++ 輸入輸出流及本地化》《C++ Network Programming》《大規模C++程序設計》
2::Barbara E.Moo和Andrew Koenig的《Ruminations On C++》(C++ 沉思錄)
其他的:
Stanley B. Lippman,《Inside The C++ Object Model》影印版、中文版《深度探索C++對象模型》
Elements of Reusable Object-Oriented software》影印版、中文版《設計模式:可復用面向對象軟體的基礎》
John Lakos的著作《Large-Scale C++ Software Design》(《大規模C++程序設計》
Andrew Koenig和Barbara Moo在《Accelerated C++: Practical Programming by Example》《Ruminations on C++》
Bruce Eckel,《C++編程思想》
windows編程系列:
Charles Petzold 的 《Programming Windows》(Windows程序設計)
Jeffrey Richter 的《》(Windows核心編程)和《Advanced Windows》(Windows 高級編程指南)
數據結構和演算法
1::清華教授嚴蔚敏和廣東工業大學教授吳偉民的《數據結構(C語言版)》
2::清華教授殷人昆的《數據結構(用面向對象方法與C++描述)》
3::經典書籍:Mark Allen Weiss的《Data Structures and Algorithm Analysis in C》(數據結構與演算法分析--C語言描述)和《Data Structures and Algorithm Analysis in C++》(數據結構與演算法分析--C++語言描述)
4::王曉東的《演算法設計與分析》
5::M.H.Alsuwaiyel(沙特)的 《Algorithms Design Techniques and Analysis》(演算法設計技巧與分析)
6::經典:Thomas H.Cormen, Charles E.Leiserson的《Introction to Algorithms》(演算法導論)
⑤ 考程序員要看什麼書
1、
考試大綱(清華大學出版社)
程序員考試大綱與培訓指南(2009版),8元
2、
指定教材(清華大學出版社)
程序員教程(第三版),張淑平主編,57元
程序員教程(第2版),沈林興主編,57元
3、
試題分析解答(清華大學出版社)
程序員歷年試題分析與解答,2008版,38元
4、
參考用書
(清華大學出版社)
程序員考前重點輔導,李鋒主編,83元
跨越程序員必備訓練,
范立南主編,49元
程序員考試復習與提高(2007版),李鋒主編,78元
程序員考試科目1:計算機硬軟體基礎知識--考點解析及模擬訓練(2005版),劉克武主編,48元
程序員考試科目2:程序設計--考點解析及模擬訓練(2005版),劉華主編,29元
程序員考試輔導(2005版),謝樹煜主編,46元
程序員備考訓練(2006版),劉克武等編,19元
備註:最好是看09年以後的書,畢竟是09年改革的。
我在華信智原也正准備考初級程序員,希望我們都過,加油!
⑥ 提升自我,擺脫「內卷」!程序員必看的「反內卷」書有哪些
我認為程序員需要去看一些個人理財的書,同時也需要看一些職場成長的書。
從某種程度上來說,如果想要擺脫競爭的話,程序員最需要做的事情是提高自己的工作能力。與此同時,每個行業的每個工作都會存在一定的競爭現象,特別是對於程序員來講,程序員的主要核心競爭力在於自己的年齡和時間,但很多程序員根本就意識不到這一點。特別是在年輕的時候,程序員可能會認為自己的工作能力非常強,所以自己才能夠領到高薪。但事實上,程序員是通過出賣自己的時間來獲得相應的薪水,一個上了年紀的程序員,其實很難獲得更好的福利待遇。
最後,我們不能把自己工作與生活的希望寄託在讀書的問題上,讀書只不過是給人一個思考的方向而已,對於每個人來講,我們需要自主判斷自己的人生選擇。
⑦ C\C++程序員需要掌握什麼書籍
c/c++程序員需要掌握的書籍大概可以分成幾個方面:
計算機基礎類書籍,這類書籍包括計算機組成原理、計算機網路、資料庫、操作系統、數據結構與演算法。
c/c++類專業書籍,這類書籍包括基礎的C語言程序設計、C++primer。
擴展類書籍,c/c++相關擴展類,推薦的有C陷阱與缺陷、深度探索C++對象模型、effective C++。
平台擴展類書籍,這類就要看你在哪類系統下做開發,一般常用的系統平台是嵌入式、windows、Unix及ios(object C++),這類書籍就比較多了,可以按照個人需求選擇。
按照上述推薦的理由是:
學習計算機語言需要一定的基礎,這類基礎是非常重要但是很無聊的,後續在做開發的時候會覺得非常實用。
學好語言其實不是非常麻煩的部分,一般的教材類書籍即可,重要而麻煩的是在敲代碼的過程中去熟練掌握、運用和創新。
擴展類書籍3可以幫助你更深入的理解你所學到的東西,而深入理解是程序員進階的必經之路。
平台類書籍略有區別,但是標准C++是一樣的,只是針對各自平台做了相應擴展(objectc++除外)。如果需要在某個平台下做開發,或者學習再去學習使用即可。
⑧ 程序員必讀的14本書籍
程序員必讀書籍有哪些呢?下面是我精心為您整理的程序員必讀的14本書籍,希望您喜歡!
程序員必讀的14本書籍
1、《代碼大全》 史蒂夫·邁克康奈爾
“優秀的編程實踐的網路全書,《代碼大全》注重個人技術,其中所有東西加起來, 就是我們本能所說的“編寫整潔的代碼”。這本書有50頁在談論代碼布局。” —— Joel Spolsky
Steve McConnell的原作《代碼大全》(第1版)是公認的關於編程的最佳實踐指南之一, 在過去的十多年間,本書一直在幫助開發人員編寫更好的軟體。
無論您的經驗水平如何,也不管您在怎樣的開發環境中工作,也無論項目是大是小, 本書都將激發您的思維並幫助您構建高品質的代碼。
2、《計算機程序的構造和解釋》
《代碼大全》、《重構》和《設計模式》這些經典書會教給你高效的工作習慣和交易細節。 其他像《人件集》、《計算機編程心理學》和《人月神話》這些書會深入軟體開發的心理層面。 其他書籍則處理演算法。這些書都有自己所屬的位置。
然而《計算機程序的構造和解釋》與這些不同。 這是一本會啟發你的書,它會燃起你編寫出色程序的熱情; 它還將教會你認識並欣賞美; 它會讓你有種敬畏,讓你難以抑制地渴望學習更多的東西。
其他書或許會讓你成為一位更出色的程序員,但此書將一定會讓你成為一名程序員。
3、《C程序設計語言》
《C程序設計語言》(第2版新版)原著即為C語言的設計者之一Dennis M.Ritchie和著名的計算機科學家Brian W.Kernighan合著的 一本介紹C語言的權威經典著作。 我們現在見到的大量論述C語言程序設計的教材和專著均以此書為藍本。
原著第1版中介紹的C語言成為後來廣泛使用的C語言版本——標准C的基礎。
人們熟知的“hello,world”程序就是由本書首次引入的,現在,這一程序已經成為所有程序設計語言入門的第一課。
4、程序員思維修煉(修訂版)
生命中沒有什麼是一成不變的,人們需要改變自己的習慣和方法。不論你是程序員、軟體公司管理者、技術奇人還是思想家,或者你只是想讓自己的大腦更聰明一點兒,所有嘗試改變自己的人,請把本書當作改變的開始……
5、系統化思維導論
關注人文,掌握思維法則,揭開科學與技術的神秘面紗
“它給我的震撼是第一次我能從全局的角度去看待各個學科,科學也不再是冷冰冰的割裂了的教條,不再是難以理解的一堆符號。”
6、優秀的叛逆者:引領組織變革的力量
Lois Kelly和Carmen Medina用她們的實戰經驗,向我們展示了如何在工作中贏得信賴、提出想法、處理人際關系、管理沖突和保持理智。”
——亞當•格蘭特,沃頓商學院教授,《紐約時報》暢銷書Give and Take的作者
7、《重構:改善既有代碼的設計》
《重構:改善既有代碼的設計》適合軟體開發人員、項目管理人員等閱讀, 也可作為高等院校計算機及相關專業師生的參考讀物。
8、《Site Reliability Engineering》
《SRE:Google運維解密》可以讓讀者學習到Google工程師在提高系統部署規模、改進可靠性和資源利用效率方面的指導思想與具體實踐——這些都是可以立即直接應用的寶貴經驗。任何一個想要創建、擴展大規模集成系統的人都應該閱讀,該書針對如何構建一個可長期維護的系統提供了非常寶貴的實踐經驗。
9、《Refactoring》
那時候當我讀這本《重構:改善既有代碼的設計》時,由於它在關於代碼異味的單獨章節所花的篇幅,使得這本書非常值這個價。該書非常成功,因為它使重構和代碼異味的觀念成為主流。
Steve Yegge曾對這本書不吝贊譽之詞:
2003年10月,我第一次閱讀這本書,有一種不寒而粟的感覺。如果你意識到,當你想離職時,你已經工作5年。轉天我就隨意問周圍:“嗯,你已經讀過重構方面的書,對吧?我只是隨便問問,因為我很久以前讀過,當然不是現在。”在我所調查的20個人中,只有一個人
10、《Peopleware》
在大學時我讀到這本《人件》,該書似乎很令人信服,甚至所有的研究結果都支持該書的觀點:不設置截止日期就比設置截止日期要好;辦公室比隔間要好,等等。所有開發人員跟我討論的時候,基本都贊同這些觀點。
11、《編程珠璣》
盡管我不得不羞愧地承認,書中一半的東西我都沒有理解,但我真的推薦《編程珠璣》,書中有些令人驚奇的東西。 – Matt Warren
12、《修改代碼的藝術》by Michael Feathers
我認為沒有任何一本書能向這本書一樣影響了我的編程觀點。它明確地告訴你如何處理其他人的代碼,含蓄地教會你避免哪些(以及為什麼要避免)。
同意。很多開發人員討論用干凈的石板來編寫軟體。但我想幾乎所有開發人員的某些時候是在吃其他開發人員的狗食。– Bernard Dy
13、《編碼:隱匿在計算機軟硬體背後的語言》
我推薦CharlesPetzold的《編碼》。在這個充滿工具和IDE的年代,很多復雜度已經從程序員那“抽取”走了,這本書一本開眼之作。 –hemil
14、《程序員健康指南》