# 思想、工程、架構(gòu)、職業(yè)發(fā)展
## 思想
[編程珠璣](http://book.douban.com/subject/3227098/)
編程珠璣,字字珠璣。這本書并不單純講解算法,而是由一系列實(shí)際問題切入,引導(dǎo)讀者理解這些問題并學(xué)會(huì)解決方法,使用現(xiàn)有的算法,或者程序設(shè)計(jì)技巧解決問題。本書的特色是通過一些精心設(shè)計(jì)的有趣而又頗具指導(dǎo)意義的程序,對(duì)實(shí)用程序設(shè)計(jì)技巧及基本設(shè)計(jì)原則進(jìn)行了透徹而睿智的描述,為復(fù)雜的編程問題提供了清晰而完備的解決思路。
[代碼之美](http://book.douban.com/subject/3224524/)
33章,有38位作者,每位作者貢獻(xiàn)一章。在每章中的漂亮代碼都是來自獨(dú)特解決方案的發(fā)現(xiàn),而這種發(fā)現(xiàn)是來源于作者超越既定邊界的遠(yuǎn)見卓識(shí),并且識(shí)別出被多數(shù)人忽視的需求以及找出令人嘆為觀止的問題解決方案。每位作者都將自己心目中對(duì)于“美麗的代碼”的認(rèn)識(shí)濃縮在一章當(dāng)中,張力十足。38位大牛,每個(gè)人對(duì)代碼之美都有自己獨(dú)特的認(rèn)識(shí),現(xiàn)在一覽無余的放在一起,對(duì)于熱愛程序的每個(gè)人都不啻一場(chǎng)盛宴。
[計(jì)算機(jī)程序的構(gòu)造和解釋](http://book.douban.com/subject/1148282/)
本書是lisp的入門書,也是講授函數(shù)式語言思想的一本書。由于函數(shù)式語言特性,放在編程思想里也是可以的。這絕對(duì)不是一本初學(xué)者需要的書,但是是一本接觸函數(shù)式編程就必須要讀的書。十年前這本書出版了,十年后肯定會(huì)有機(jī)會(huì)需要讀這本書。
[程序員思維修煉](http://book.douban.com/subject/26268555/)
作為程序員,我們需要不斷地學(xué)習(xí)——既要學(xué)習(xí)新技術(shù),也要學(xué)習(xí)如何解決各種領(lǐng)域的問題。為了提升學(xué)習(xí)效率,我們需要學(xué)習(xí)如何學(xué)習(xí)。程序員的思維修煉正是這樣一本講如何學(xué)習(xí)的書,它集合了認(rèn)知科學(xué),神經(jīng)學(xué),以及行為理論的最新研究成果,并系統(tǒng)的介紹了大腦的工作機(jī)制。通過這本書,你將學(xué)會(huì)如何高效的使用自己的大腦,從而提高思考能力,改善學(xué)習(xí)效率。
## 架構(gòu)
[設(shè)計(jì)模式](http://book.douban.com/subject/1052241/)
這本書不用說了,gof book,設(shè)計(jì)模式相關(guān)書籍的鼻祖。任何講設(shè)計(jì)模式的書,其實(shí)都離不開這23種設(shè)計(jì)模式。這本書不僅僅解釋了每種設(shè)計(jì)模式的架構(gòu),還附上一個(gè)例子來講解如何使用。
[大話設(shè)計(jì)模式](http://book.douban.com/subject/2334288/)
如果上面那本看不下去的話,來看看這本。
[企業(yè)應(yīng)用架構(gòu)模式](http://book.douban.com/subject/4826290/)
這本書主要講解了企業(yè)應(yīng)用(也就是大規(guī)模的web應(yīng)用)所使用的架構(gòu)風(fēng)格,例如mvc,orm與事務(wù)??梢宰鳛樵O(shè)計(jì)模式的補(bǔ)充。
[架構(gòu)之美](http://book.douban.com/subject/5311566/)
所謂好的架構(gòu),使用者感覺不到,但是用起來順手。這本書讓最優(yōu)秀的設(shè)計(jì)師和架構(gòu)師來描述他們選擇的軟件架構(gòu),剝開架構(gòu)的各層,展示他們?nèi)绾巫屲浖龅綄?shí)現(xiàn)功能、可靠、易用、高效率、可維護(hù)、可移植和優(yōu)雅。
[重構(gòu)](http://book.douban.com/subject/4262627/)
如果說設(shè)計(jì)模式是涉及到類于類的關(guān)系,那這本書著重于類中方法的組織,和方法中代碼的組織。這本書絕對(duì)不是僅僅是講如何重構(gòu)的書,它更像是一本編寫可維護(hù)代碼的指導(dǎo)手冊(cè)。如何編寫避免重構(gòu)的代碼才是本書的要義。
## 工程
[代碼大全](http://book.douban.com/subject/1477390/)
這本書涵蓋了從項(xiàng)目建立、需求分析、編碼、測(cè)試到交付的所有細(xì)節(jié)、最佳實(shí)踐和坑,堪稱軟件工程的百科全書。既然前人已經(jīng)幫你把坑都踩過了,有什么理由不去讀它呢?
[人月神話](http://book.douban.com/subject/1102259/)
作為軟件工程的經(jīng)典著作,《人月神話》的主要貢獻(xiàn)是對(duì)軟件開發(fā)過程的幾個(gè)重要關(guān)鍵點(diǎn),提出了獨(dú)到的見解。主要包括:(1)外科手術(shù)式的團(tuán)隊(duì)組織;(2)核心概念要由很少的人來完成,保證概念的完整性;(3)必要的溝通;(4)保持適度的文檔;(5)沒有包治百病的銀彈。
[人件](http://book.douban.com/subject/1108725/)
《人件》是項(xiàng)目管理圖書中的經(jīng)典之作,和《人月神話》齊名。這本書專門討論了軟件開發(fā)和維護(hù)的團(tuán)隊(duì)管理問題,并向人們的傳統(tǒng)認(rèn)識(shí)提出了挑戰(zhàn)。書中指出了知識(shí)型企業(yè)的核心是人,而不是技術(shù)?!度嗽律裨挕逢P(guān)注“軟件開發(fā)”本身,《人件》則關(guān)注軟件開發(fā)中的“人”。
[番茄土豆工作法](http://book.douban.com/subject/5916234/)
這本書介紹了時(shí)下最流行的時(shí)間管理方法之一:番茄工作法。早在小學(xué)語文課本上,李大釗先生就教育我們,“學(xué)就學(xué)個(gè)踏實(shí),玩就玩?zhèn)€痛快?!?番茄法正是這樣。這本書有助于提升拖延癥人士的工作效率,讓人受益良多。
[高效程序員的45個(gè)習(xí)慣](http://book.douban.com/subject/4164024/)
## 職業(yè)發(fā)展
[程序員修煉之道](http://book.douban.com/subject/5387402/)
這本書并不局限于特定的編程語言或框架,而是提出了一套切實(shí)可行的實(shí)效(Pragmatic)開發(fā)哲學(xué),并通過程序設(shè)計(jì),測(cè)試,編程工具,以及項(xiàng)目管理等方面的實(shí)例展示了如何應(yīng)用這套開發(fā)哲學(xué),從而使得程序員更加高效專業(yè)。有人把這本書稱之為迷你版代碼大全——代碼大全給出了大量的優(yōu)秀程序設(shè)計(jì)實(shí)踐,偏向術(shù);而程序員修煉之道給出了程序設(shè)計(jì)實(shí)踐背后的思想,注重道。
[程序員職業(yè)規(guī)劃之道](http://book.douban.com/subject/4923179/)
這本書運(yùn)用其獨(dú)特的思維方式,啟發(fā)程序員不能只注重技能上的提高,還要關(guān)注自己的職業(yè)發(fā)展。書中涉及新舊技術(shù)的取舍、技術(shù)與業(yè)務(wù)的關(guān)系、技術(shù)是要專精還是要廣博等,相信這也是長久以來困擾你的問題。帶著這些問題去閱讀此書,定會(huì)受益良多。此外,本書中的每一章都包含一篇或幾篇各領(lǐng)域成功人士的文章,讓你直接了解他們?nèi)绾我?guī)劃自己的職業(yè)生涯。
[程序員面試寶典](http://book.douban.com/subject/26630830/)
