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