程序員必讀的十本書籍推薦
程序員必讀的十本書籍推薦
書籍是知識(shí)和智慧的重要來源,如果你是一個(gè)程序員,除了編碼之外,你休閑之余或許還需要大量的閱讀來充實(shí)自己。下面是由學(xué)習(xí)啦小編給大家?guī)黻P(guān)于程序員必讀的十本書籍推薦,希望對(duì)大家有幫助!
程序員必讀的十本書籍推薦
程序員必讀的書1、《The Pragmatic Programmer》
絕對(duì)是書籍中的瑰寶!這不是常規(guī)地建議你編碼,編碼還是編碼的編程書。事實(shí)上,它并不限定于某種特定的編程語言:在這本書中的智慧適用于所有編程語言。
這本書對(duì)許多有趣的領(lǐng)域都提出了真知灼見,如各種探索性編程,在代碼中編碼,從模型中分離的觀點(diǎn),昂貴的工具并不產(chǎn)生更好的設(shè)計(jì),開發(fā)一個(gè)偉大的團(tuán)隊(duì),管理預(yù)期,避免知識(shí)的重復(fù)等。
這本書不僅可以幫助改變編碼的習(xí)慣,還可以改變你作為一個(gè)程序員的性格。它充滿了關(guān)于如何改進(jìn)自己和代碼的實(shí)用建議。
還有一個(gè)總結(jié)了提示和檢查清單的小冊(cè)子。
程序員必讀的書2、《The Mythical Man-month》
非常經(jīng)典,被奉為軟件行業(yè)的圣經(jīng)。第一次出版于1970年,但是里面的內(nèi)容比起以前,可能更適用于現(xiàn)在!
有聽說過這些話嗎?它們均摘自于這本書!
“所有的程序員都是樂觀的:一切都會(huì)順利。”
“添加人手到一個(gè)延遲的項(xiàng)目中只會(huì)導(dǎo)致完成得更慢。”
“生一個(gè)孩子總是需要九個(gè)月的時(shí)間,不管安排多少個(gè)女性。”
“一個(gè)煎蛋,承諾在兩分鐘內(nèi)完成,但如果兩分鐘后還是沒有準(zhǔn)備好,那么客戶有兩種選擇——等待或吃半熟品,軟件客戶也只能這樣選擇。”
不幸的是,一年又一年地過去,而我們總是在軟件開發(fā)中犯著相同的錯(cuò)誤。這本書是每一個(gè)項(xiàng)目經(jīng)理和開發(fā)人員都必須閱讀的。
正從標(biāo)題中所說的那樣,這是一本散文集。文辭優(yōu)美。這本書唯一的缺點(diǎn)就是引用了年邁25的古老技術(shù)。但是,這并不影響這本書的魅力。
程序員必讀的書3、《Clean Code》: 敏捷軟件工藝的手冊(cè)
有沒有在看他人代碼的過程中,不由自主地發(fā)出“哦,天哪,這是什么?”的經(jīng)歷,那么這個(gè)人肯定沒有閱讀過《Clean Code》。
這是一本關(guān)于軟件工藝史詩般的書籍。這本書不僅會(huì)告訴你如何編寫好的代碼,而且還提供了軟件開發(fā)的高效途徑。照著去做的話,必將改變你的工作前景。
書中描述了編寫干凈代碼的原則、模式和做法。里面一些關(guān)于整潔代碼的幾個(gè)案例都是開發(fā)人員寶貴的經(jīng)驗(yàn)教訓(xùn)。
請(qǐng)注意,雖然在這本書中的所有實(shí)例都是關(guān)于Java的,但是從中學(xué)到的經(jīng)驗(yàn)教訓(xùn)可以應(yīng)用于任意的編程語言。
這篇文章所列出的這些書籍中,這本書出版得比較晚,所以可能更能引起年輕開發(fā)人員的共鳴。
程序員必讀的書4、《The Clean Coder》:專業(yè)程序員的行為守則
此列表中Rob Martin的第二本書。建議你在讀了《Clean Code》后,再讀這本書?!禖lean Code》講的是代碼,而這本書是關(guān)于“Coder”。
該書探討了一些程序員經(jīng)常忽視的主題。
成為專業(yè)的程序員意味著什么?
1/如何打磨自己成為一個(gè)真正的軟件工匠
2/沖突和緊張的日程處理
3/如何管理你的時(shí)間?如何擴(kuò)張技能?
4/何時(shí)說“不”
5/避免倦怠
6/以及更多……
你可能并不總是同意作者的觀點(diǎn),但它提供了良好的精神食糧。這可能并非你所期望的,但可能正是你所需要的。
程序員必讀的書5、《Refactoring》:改善已有代碼的設(shè)計(jì)
不管你怎么努力,除非改進(jìn)它,否則,你交付的代碼不會(huì)是最優(yōu)化的。有時(shí)即使工作正常,也會(huì)實(shí)施重構(gòu)。
這本書從重構(gòu)的通用原則說起:為什么以及什么時(shí)候重構(gòu),如何處理有關(guān)重構(gòu)的管理等等。然后講述了如何實(shí)現(xiàn)改進(jìn)的過程。
1/代碼的設(shè)計(jì)缺陷指標(biāo)是什么?
2/如何構(gòu)建類、方法和其他的邏輯塊?
3/單元測(cè)試
4/如何將功能從一個(gè)對(duì)象移動(dòng)到另一個(gè)?
5/重構(gòu)工具
6/..以及更多
這是改進(jìn)現(xiàn)有代碼必讀的書。請(qǐng)注意所有的代碼示例用的都是Java,但現(xiàn)在復(fù)制起來也很方便!
程序員必讀的書6、《Working Effectively With Legacy Code》
我們都必須工作于一些我們痛恨的東西——對(duì)于大多數(shù)人而言,遺留代碼真是令人頭痛無比。
如何修改遺留代碼?如何識(shí)別需要重構(gòu)的代碼部分?如何破壞重構(gòu)代碼之間的依賴關(guān)系?如何確保新的代碼能完成預(yù)期的工作?如何一次一小步地重構(gòu)遺留代碼?
在這本杰出的書中,只是回答了一些關(guān)鍵的問題。如果非要用一句話總結(jié)這本書的精華,那就是“寫單元測(cè)試,重構(gòu)代碼,確保測(cè)試都通過。”
遺留代碼不是一個(gè)神話,它是一個(gè)活著的傳奇!在軟件行業(yè)中沒有什么比遺留代碼更能經(jīng)受測(cè)試的考驗(yàn)了——Deepak Karanth
程序員必讀的書7、《Code Complete》:軟件構(gòu)建的實(shí)用手冊(cè)
在一個(gè)龐大的作品中,如果你想要閱讀所有關(guān)于編程結(jié)構(gòu)和最佳實(shí)踐的內(nèi)容,那么這是本必讀書。真正的百科全書式書籍——其最新版本有多達(dá)960頁!不要被這本書的厚度嚇倒,你可以按照自己的節(jié)奏閱讀。最后,你會(huì)慶幸你閱讀了這本書。
書中解釋了軟件開發(fā)的每個(gè)方面。從代碼結(jié)構(gòu),代碼格式化,到變量、方法和類的命名,再一路說到管理一個(gè)團(tuán)隊(duì),對(duì)所有一切都提出了實(shí)用的建議。
提供了覆蓋特定主題的豐富參考和補(bǔ)充材料,這些也非常值得一讀。
只有一小部分的軟件開發(fā)人員會(huì)讀這本書,所以如果你也是他們中的一個(gè),那么你就有了優(yōu)勢(shì)。通過閱讀這本書,你就可以獲得許多年寶貴經(jīng)驗(yàn)。
程序員必讀的書8、《Head First Design Patterns》
看上去最不像技術(shù)的編程書籍!每個(gè)頁面都包含涂鴉、圖片以及其他一些吸引眼球的東西。可能給人的印象是一本閱讀起來很輕松的書,但事實(shí)上它會(huì)討論編程的一些核心主題——設(shè)計(jì)模式。
這本書雖然沒有覆蓋所有存在于這個(gè)世界的模式,但是會(huì)涵蓋所有你可能需要用于解決現(xiàn)實(shí)問題的模式。它將幫助你創(chuàng)建功能性的,優(yōu)雅的,可重用的和靈活的軟件。每個(gè)模式的優(yōu)劣也被明確指出。大多數(shù)關(guān)于設(shè)計(jì)模式的書籍談?wù)摰氖侨绾螌?shí)現(xiàn)模式,但這本書的作者同時(shí)還解釋了為什么以及怎么樣。
最新版本包括針對(duì)Java 8的更新——主要是Lambda。
程序員必讀的書9、《Peopleware:Productive Projects and Teams》
很棒的一部作品。這本書并非關(guān)于編程。這是一本有關(guān)管理和激勵(lì)程序員的書籍。開發(fā)人員也應(yīng)該閱讀。很多時(shí)候,開發(fā)人員,尤其是那些沒有經(jīng)驗(yàn)的開發(fā)人員,不理解管理的思維過程。
軟件開發(fā)是一個(gè)創(chuàng)造性的過程。但是,大多數(shù)管理人員把它當(dāng)作是流水線。開發(fā)人員被視為是機(jī)器上可替換的齒輪零部件。管理人員普遍性地會(huì)給予一個(gè)緊迫的時(shí)間期限,當(dāng)作促進(jìn)積極性唯一途徑。他們對(duì)開發(fā)人員的工作不感興趣,甚至可悲的是,他們也不會(huì)試著去理解開發(fā)人員或他們自己的工藝。
如果你想成為一個(gè)想要的是質(zhì)量,而不僅僅是數(shù)量的管理人員,那么請(qǐng)立刻閱讀這本書!
作者解釋了管理者應(yīng)該如何以一種可持續(xù)的方式使他們的軟件開發(fā)團(tuán)隊(duì)認(rèn)識(shí)到他們的潛力。
程序員必讀的書10、《Soft Skills:The Software Developer’s Life Manual》
同樣的,這也不是一本關(guān)于編程的書。但是,卻是每一個(gè)程序員都應(yīng)該閱讀的書。
這本偉大的書著重于管理開發(fā)人員生活的“其他”方面??梢允悄闵畹拿恳粋€(gè)方面——事業(yè)、生活、身體、頭腦,以及不管你相信與否——還有靈魂。
作者他自己也遵循這些技術(shù),并且獲得了成功。他的網(wǎng)站上說,他能夠在他30出頭的時(shí)候放棄他的日常工作。該作者將他的生活經(jīng)驗(yàn)整理成整齊的,主題內(nèi)容為Career、Marketing yourself、Learning、Productivity、Finances, Fitness和Spirit的短章。每個(gè)篇章都很短,可以在休息時(shí)間閱讀,非常方便。
你會(huì)是一個(gè)更加滿意和快樂的人,如果你按照這本書的建議去做的話,那么你將成為一個(gè)更令人滿意和幸福的人和程序員。
猜你喜歡: