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