程序員必讀書籍及導讀指南

目錄:java

  1. Code Complete 代碼大全
  2. Refactoring重構改善既有代碼質量
  3. Clean Code 代碼整潔之道
  4. The Pragmatic Programmer From Journeyman to Master 程序員修煉之道從小工到專家
  5. The Practice of Programming 程序設計實踐
  6. Design Patterns 設計模式
  7. Domain-Driven Design 領域驅動設計
  8. The Art of UNIX Programming UNIX編程藝術
  9. Practical API Design 軟件框架設計的藝術
  10. Patterns of Enterprise Application Architecture 企業應用架構模式
  11. The C Programming Language C語言程序設計
  12. The Mythical Man-Month 人月神話
  13. Hackers and Painters 黑客與畫家
  14. The Art of Computer Programming 計算機程序設計藝術
  15. Introduction to Algorithms 算法導論
  16. Object-Oriented Analysis and Design with Applications 面向對象分析與設計
  17. Thinking in Java Java編程思想
  18. Effective Java
  19. Java與模式
  20. The Well-Grounded Java Developer Java程序員修煉之道
  21. POJOs in Action
  22. Computer Concepts 計算機文化
 

最近在網上看了一個很是好的帖子《程序員一輩子必讀的書》(個人騰訊微博上有分享該貼子連接,有興趣就點擊進去看看吧),該貼的第一個張圖片是一個雷達圖, 這張圖是由ThoughtWorks(全球軟件設計與定製領域的領袖級企業)的資深人士提供的,它將程序員要讀的書分爲四個類別,每一個類別又分爲初級、進階和高級讀物,並用黃色三角形點出了強烈推薦閱讀的書籍。四個類別包括:程序員

  • 編程實踐(Coding Practice)
  • 設計與架構(Design & Architecture)
  • 方法學(Methodology)
  • 思想與領導力(Thought & Leadership)

程序員必讀書籍的雷達圖

相信這張圖會幫助到不少迷茫的職業人,由於好書就像明燈同樣會照亮咱們的方向,那些大師級的人物將他們的經驗分享給咱們,真的有如浴春風的感受。有時候會很感慨國外有那麼多厲害的技術做家寫了那麼多好的做品,而國產技術書籍中的好書真算得上是百裏挑一。有時候也會問本身,能不能作一個技術做家呢,我想個人修煉還遠遠不夠。 
雖然不可以本身寫一本好書,可是仍是很願意把本身的讀書心得跟你們一塊兒分享,雷達圖上的書我讀過的約有1/3,下面就把讀這1/3的心得跟你們分享。算法

Code Complete 《代碼大全》

這裏寫圖片描述


Refactoring《重構:改善既有代碼質量》

這裏寫圖片描述


Clean Code 《代碼整潔之道》

這裏寫圖片描述

 


The Pragmatic Programmer: From Journeyman to Master 《程序員修煉之道:從小工到專家》

這裏寫圖片描述

  這本書最初出中文譯本的時候,它的名字叫《務實的程序員》,而這本書也正像它書名的副標題那樣,是一本帶領程序員從小工成爲行業專家的著做。這本書裏有70個Tip(指點、提示),這些Tip都是短小精煉的句子,但都是大師們編程經驗的總結和沉澱。所以無論何時看這本書,也無論你翻到第幾頁,總會發現這樣的Tip,而它們也會讓你有醍醐灌頂的感受。下面分享了這本書部分的Tip:編程

  • Tip8: Invest Regularly in Your Knowledge Portfolio (按期爲你的知識資產投資)
  • Tip9: Critically Analyze What You Read and Hear (批判的分析你讀到的和聽到的)
  • Tip10: It’s Both What You Say and the Way You Say It (你說什麼和你怎樣說一樣重要)
  • Tip11: DRY - Don’t Repeat Yourself (不要重複本身)
  • Tip13: Eliminate Effects Between Unrelated Things (消除無關事物之間的影響)
  • Tip18: Estimate to Avoid Surprises (經過估計來避免意外發生)
  • Tip20: Keep Knowledge in Plain Text (用純文本保存知識)
  • Tip23: Always Use Source Code Control (老是使用源碼控制)
  • Tip27: Don’t Assume It - Prove It (不要假定要證實)
  • Tip29: Write Code That Writes Code (用代碼生成代碼)
  • Tip31: Design with Contracts (按照契約設計)
  • Tip33: If It Can’t Happen, Use Assertion to Ensure That It Won’t (用斷言確保不能發生的不發生)
  • Tip38: Put Abstraction in Code, Details in Metadata (將抽象置於代碼,細節置於元數據)
  • Tip39: Analyze Workflow to Improve Concurrency (分析工做流以改善併發性)
  • Tip42: Separate Views from Models (讓視圖和模型分離)
  • Tip63: Coding Ain’t Done ‘Til All the Tests Run (測試不經過編碼不中止)
  • Tip69: Gently Exceed Your User’s Expectations (超出用戶指望一點點就好)

  除此以外,該書中有不少名人名言以及不少經驗的分享,例如:「不要讓調試改變了被調試系統的行爲」、「異常儘可能不被做爲程序正常流程的一部分來使用」、「要善始善終,分配資源的程序也應當釋放它」、「最大的弱點是懼怕暴露弱點」等等。 固然,這本書也包括了對契約式編程、解耦合、重構、算法效率、測試等內容的探討。 
  老實說,整本書的內容都很棒,附錄也不例外,附錄A中列出了一些做者推薦閱讀的計算機書籍,這些書籍正好也出如今了咱們給的這個必讀書籍的列表中,真的是英雄所見略同(就算我臭美了一次哈)設計模式

The Practice of Programming 《程序設計實踐》

這裏寫圖片描述

Design Patterns 《設計模式》

這裏寫圖片描述

Domain-Driven Design 《領域驅動設計》

這裏寫圖片描述

The Art of UNIX Programming 《UNIX編程藝術》

這裏寫圖片描述

Practical API Design 《軟件框架設計的藝術》

這裏寫圖片描述

Patterns of Enterprise Application Architecture 《企業應用架構模式》

這裏寫圖片描述

還有不少好書可能由於選擇標準的不一樣在雷達圖中雖然沒有出現,可是仍然值得每一個程序員去閱讀,這些好書包括:api

The C Programming Language 《C語言程序設計》

這裏寫圖片描述

The Mythical Man-Month 《人月神話》

這裏寫圖片描述

Hackers and Painters 《黑客與畫家》

這裏寫圖片描述

The Art of Computer Programming 《計算機程序設計藝術》

這裏寫圖片描述這裏寫圖片描述這裏寫圖片描述這裏寫圖片描述

Introduction to Algorithms 《算法導論》

這裏寫圖片描述

Object-Oriented Analysis and Design with Applications 《面向對象分析與設計》

這裏寫圖片描述

除此以外,由於本身作了很長時間的Java程序員,有一些Java方面的好書能夠推薦給你們markdown

Thinking in Java 《Java編程思想》

這裏寫圖片描述

Effective Java

這裏寫圖片描述

Java與模式

這裏寫圖片描述

The Well-Grounded Java Developer 《Java程序員修煉之道》

這裏寫圖片描述

POJOs in Action

這裏寫圖片描述

若是你之前不是計算機相關專業又想轉型從事軟件行業,那麼我推薦先看一些專業氣質養成類書籍,固然最入的書就是《計算機導論》或《計算機文化》啦,我把這類書也作了一個列表。架構

Computer Concepts 《計算機文化》

這裏寫圖片描述

若是你但願從零基礎開始作一個Java程序員,那麼我建議的這些書的閱讀順序是這樣的: 
1. Computer Concepts / Foundations of Computer Science 
2. The C Programming Language 
3. Core Java (Vol. 1 & Vol. 2) / Introduction to Java Programming 
4. MySQL Crash Course 
5. Servlet & JSP: A Tutorial / Head First Servlets & JSP 
6. Design Patterns / Java與模式 / Design Patterns Explained 
7. Java Persistence with Hibernate / Hibernate in Action 
8. Spring in Action 
9. Algorithms 
10. POJOs in Action併發

轉自:http://blog.csdn.net/jackfrued/article/details/44456495app

相關文章
相關標籤/搜索