為程序員編寫的10本經(jīng)典軟件開發(fā)書籍(為程序員編寫的10本經(jīng)典軟件開發(fā)書籍)
看看這篇 Bounty 的文章,它給出了作者對10本書和資源的建議,這些書和資源會讓你成為一個更好的程序員
當(dāng)我開始進(jìn)入軟件開發(fā)領(lǐng)域的時候,網(wǎng)上的資源非常少,我的大部分學(xué)習(xí)都是通過閱讀倫敦環(huán)線上的書籍來完成的。其中,斯科特 · 邁爾斯,斯坦 · 利普曼和唐 · 博克斯在90年代后期陪伴我在埃奇威爾路和塔山之間(謝謝你們!).
Edgeware Road Tube Station.
下面列出了9個經(jīng)典的開發(fā)類書籍,它們經(jīng)常出現(xiàn)在你的工程團(tuán)隊(duì)的書籍收藏中,或者如果你不能買到新書,你可以以合理的價格買到二手書。他們中的大多數(shù)人都曾經(jīng)和我一起在倫敦地鐵旅行過,我推薦他們作為一種很好的方式來建立堅(jiān)實(shí)的軟件工程技能,以補(bǔ)充你特定工作所需要的具體知識。我已經(jīng)盡量使清單多樣化,并保持足夠的一般性。其中一些書包含特定編程語言的示例,但是不要因?yàn)檫@個問題而放棄,因?yàn)橐话愕男畔⑷匀皇沁m用的。
我肯定錯過了一些人的最愛,請讓我知道哪些在評論中,以及為什么你認(rèn)為他們應(yīng)該被包括在內(nèi)。請注意,我鏈接亞馬遜只是為了提供進(jìn)一步的信息,但這些不是聯(lián)盟鏈接,我絕不會從這些推薦中獲利,也不會得到作者的補(bǔ)償(除了他們已經(jīng)傳授給我的知識!).
1.The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas
在一系列課程中收集的一組關(guān)于軟件開發(fā)情況的敘述,這些課程構(gòu)成了技巧。這本書將提高你的編碼習(xí)慣和作為一個程序員的前景。
2.Refactoring: Improving the Design of Existing Code 重構(gòu): 改進(jìn)現(xiàn)有代碼的設(shè)計(jì)by Martin Fowler et al.
如何改進(jìn)現(xiàn)有代碼,或從其他開發(fā)人員繼承的代碼。這本書是我多年來經(jīng)常翻閱的經(jīng)典之作。
3.Clean Code: A Handbook of Agile Software Craftsmanship 整潔代碼: 敏捷軟件工藝手冊 by Robert C. Martin
這本書是由永遠(yuǎn)可靠的 Bob 叔叔編寫的,它只是簡單地教您如何編寫好代碼,以及如何將壞代碼轉(zhuǎn)換為好代碼。
4.Testing Computer Software 電腦軟件測試 by Cem Kaner, Jack Falk, and Hung Q. Nguyen
一本經(jīng)典的書,展示了如何測試計(jì)算機(jī)軟件在現(xiàn)實(shí)世界條件下。它顯示了它的年代,所以尋找最新的版本和瀏覽過時的例子。
5.The Mythical Man Month 人月神話 by Frederick P. Brooks, Jr.
這本關(guān)于軟件項(xiàng)目管理的文章集首次出版是在我還是一個蹣跚學(xué)步的孩子的時候,但是它仍然是非常相關(guān)的(可能比我更相關(guān))。推薦給任何從事或管理復(fù)雜項(xiàng)目的人ーー這是我們中的大多數(shù)人,對嗎?
6.Programming Pearls 編程珠璣 by Jon Bentley
這本書描述了一些核心的編程問題及其解決方案,充滿了幽默、實(shí)用的編程技巧和扎實(shí)的設(shè)計(jì)原則。
7.Design Patterns: Elements of Reusable Object-Oriented Software 設(shè)計(jì)模式: 可重用面向?qū)ο筌浖脑?by Erich Gamma et al.
我對這本書很矛盾。這是一本經(jīng)典著作,如果你能讀完它,你一定會成為一個更好的工程師。我沒有讀完,這讓我很遺憾,但我個人發(fā)現(xiàn),研究火車座位上的圖案比其中所包含的冗長的散文更有趣。
8.Organizational Patterns of Agile Software Development 敏捷軟件開發(fā)的組織模式by James O. Coplien and Neil B. Harrison
閱讀這本書,然后把它交給你的經(jīng)理,并要求他們也這樣做。它描述了如何通過一組清晰簡單的模式來提高公司的效率。
9.The Inmates Are Running the Asylum: Why High-tech Products Drive Us Crazy and How to Restore the Sanity 為什么高科技產(chǎn)品會讓我們瘋狂以及如何恢復(fù)理智by Alan Cooper
這本書有點(diǎn)自相矛盾,因?yàn)樗呀?jīng)過時了,同時,隨著軟件可用性失控(經(jīng)常是偶然的,盡管其他人認(rèn)為它是一種有意識的方法,通過分散用戶的注意力來創(chuàng)造社交媒體成癮的循環(huán)) ,它仍然具有高度的相關(guān)性。
我的最后一個建議是收集在線資源,而不是一個單一的書名。
10.Safari Books OnlineSafari
時代變了,這些天我不再上下班了,我通常會瀏覽一些關(guān)于特定發(fā)展領(lǐng)域的博客文章,而不是坐下來讀一整本關(guān)于某個主題的書。然而,當(dāng)我需要一本書的時候,我會去 O’Reilly 的 Safari 在線書店,那里有大量的書籍,我強(qiáng)烈推薦給任何一個開發(fā)團(tuán)隊(duì)或者個人,他們可以負(fù)擔(dān)得起訂閱費(fèi)。Safari 在線收集范圍從高度特定的一般標(biāo)題適用于大多數(shù)軟件工程師。除了書籍,你還可以訪問在線培訓(xùn)和 O’Reilly 會議視頻,通過互動教程和學(xué)習(xí)途徑來衡量你在某一學(xué)科上的進(jìn)步。
注意,至于我上面的書推薦,我和O’Reilly沒有任何關(guān)系。
請?jiān)谠u論中向我推薦你的書,無論是經(jīng)典的還是新的。