敏捷開發者必讀書籍
這是幾本每個信仰敏捷開發的程序員都應該讀一下的書籍,因為這幾本書表達了跟我們相同的信念,并且內涵了極豐富的價值。這里推薦的這幾本書都是很常規且通用的,并不是局限在某一領域(像《Effective Java》)。書目我盡量精簡,大概就4-5本,我會不時的對這個清單進行修訂。
下面就是這幾本書,以及為什么我深信它們如此重要的原因。
1. 《Implementing Lean Software Development: From Concept to Cash》
Mary and Tom Poppendieck, 2006 (amazon)
薄但卻極其豐富的一本書,對精益(Lean)軟件開發思想及其各個方面做了精彩的描述。難以置信這邊書里容下了如此多有價值的觀點。它不僅向我們傳遞了為什么精益軟件開發的可行性,并且向我們介紹了如何在實踐中實現它。
關鍵詞:消除浪費,延遲決定,可持續性節奏,提供質量
2. 《Running Lean: Iterate from Plan A to a Plan That Works》
Ash Maurya, 2012 (amazon)
敏捷開發倡導者相信,精益創業方法不僅是針對新公司,對于現有的公司也是激發革新創造的正確方法。而革新創造是我們前進的動力,能幫助我們在日趨激烈的市場競爭中生存下來的保障。如果你已經對什么是精益創業有基本的了解,那這本書正適合你。跟Eric Ries的《The Lean Startup》相反,這本書更有實踐價值,它介紹了很多在實踐中如何做假設前提測試的方法。
關鍵詞:用戶中心,測量,面談,消除浪費,未知方案
3.《 代碼整潔之道(Clean Code)》
Robert C. Martin (Uncle Bob), 2008 (amazon)
對于任何一個有上進心的軟件專業人士來說都是一本非常重要的書,它能讓我們認識什么是好的代碼,如何寫出好的代碼。它會影響你寫代碼的方式。每個人都聽說過方法、類應該簡單、只做一件事、有自我說明的名稱、測試驅動等。這本書對這些都做了說明,并解釋了為什么要這樣。
關鍵詞:單一責任原則,TDD,YAGNI, DRY
4. 《Working Effectively with Legacy Code》
Michael Feathers, 2004 (amazon)
任何在維護老代碼的人的圣經。即使是對于那些不受老代碼影響的項目也能從此書中受益。對那些不存在歷史遺留代碼的開發工作,這本書中的重構和設計思 想也值得你學習。這本書的主題是重構和測試。了解一段復雜的代碼,安全的優化它,修改它。雖然這本書有點老,它的價值不減。書中介紹的很多方法、技巧和建 議,每個程序員都應該掌握。先淺嘗一下:
我還沒有對這些代碼有足夠的了解,不能去修改它,這個應用結構不清,這個類太大,我可不想它再有任何的膨脹。
也許這本書沒有必要每頁都細讀,但你需要對它說的是什么有必要的了解,這很重要,當有一天你處在某個處境中因這些智慧而受益時,你會想起這些這些智慧哪里來的,在哪能找到它們。
[本文英文原文鏈接:Books Our Developers Should Read ]
本文轉載自: 外刊IT評論 http://www.aqee.net/