本書(shū)是KentBeck先生的最新力作,在亞馬遜網(wǎng)站上持續(xù)熱賣,是Addison-Wesley出版公司著名的大師簽名系列圖書(shū)之一。我們希望本書(shū)的引進(jìn),能讓更多讀者有機(jī)會(huì)親自體驗(yàn)最原汁原昧的大師作品,縮短與國(guó)外先進(jìn)技術(shù)的差距,并借以推動(dòng)年輕的中國(guó)軟件產(chǎn)業(yè)的發(fā)展。 近一兩年,極限編程(XP)在中國(guó)的軟件企業(yè)中受到了相當(dāng)?shù)闹匾?,越?lái)越多的開(kāi)發(fā)團(tuán)隊(duì)開(kāi)始應(yīng)用XP的方法,并從中受益。XP以“開(kāi)發(fā)符合客戶需要的軟件”為目標(biāo),鼓勵(lì)需求變化,并主動(dòng)擁抱變化,測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)是極限編程的重要特點(diǎn),它以不斷的測(cè)試推動(dòng)代碼的開(kāi)發(fā),既簡(jiǎn)化了代碼,又保證了軟件質(zhì)量,但是如何正確地進(jìn)行測(cè)試,以及如何對(duì)代碼中難以測(cè)試的地方進(jìn)行測(cè)試,這些問(wèn)題一直在困擾著開(kāi)發(fā)團(tuán)隊(duì)。 本書(shū)從頭到尾跟蹤介紹了兩個(gè)TDD項(xiàng)目,描述了程序員容易上手又能大大提高工作質(zhì)量的技術(shù)。在涉及TDD最有特色的模式和重構(gòu)后面都附有例子。通過(guò)將側(cè)重點(diǎn)放在靈活的方法和快速開(kāi)發(fā)的策略上,肯定能激發(fā)讀者接受這些未被充分利用但功能強(qiáng)大的技巧。通過(guò)自動(dòng)測(cè)試驅(qū)動(dòng)開(kāi)發(fā),然后消除重復(fù)設(shè)計(jì),不管程序難度有多大,任何程序員都可以寫出可靠的、沒(méi)有bug的代碼。此外,TDD能鼓勵(lì)程序員迅速地學(xué)習(xí),更積極地溝通,并且能夠找出建設(shè)性的反饋。KentBeck是軟件開(kāi)發(fā)方法學(xué)的泰斗、XP的創(chuàng)始人,長(zhǎng)期致力于軟件工程的理論研究和實(shí)踐,并具有講授XP的豐富經(jīng)驗(yàn)。作為軟件業(yè)內(nèi)最富創(chuàng)造,哇和最有口碑的領(lǐng)導(dǎo)人之一,KentBeck極力推崇模式、極限編程和測(cè)試驅(qū)動(dòng)開(kāi)發(fā),,他現(xiàn)在加盟于ThreeRivers研究所,是多部暢銷書(shū)如《Smalltalk Best PracticePatterns》、《解析極限編程——擁抱變化》和《規(guī)劃極限編程》(和Martin Fowler合著)的作者,并且是超級(jí)暢銷書(shū)《重構(gòu)——改善既有代碼的設(shè)計(jì)》(中國(guó)電力出版社出版中英文版)的特約撰稿人。
作者簡(jiǎn)介
Kent Beck是軟件開(kāi)發(fā)方法學(xué)的泰吉、XP的創(chuàng)始人,長(zhǎng)期致力于軟件工程的理論研究和實(shí)踐,并具有講授XP的豐富經(jīng)驗(yàn)。作為軟件業(yè)內(nèi)最富創(chuàng)造性和最有口碑的領(lǐng)導(dǎo)人之一,Kent Beck極力推崇模式、極限編程和測(cè)試驅(qū)動(dòng)開(kāi)發(fā)。他現(xiàn)在加盟于Three Rivers 研究所,是多部暢銷書(shū)如《Smalltalk Best Practice Pattrns》、《解析極限編程擁抱變化》和《規(guī)劃極限編程》的作者,并且是超級(jí)暢銷書(shū)《重構(gòu)——改善既有代碼的設(shè)計(jì)》的特約撰稿人。
圖書(shū)目錄
Preface Acknowledgments Introduction PART I: The Money Example Chapter 1: Multi-Currency Money Chapter 2: Degenerate Objects Chapter 3: Equality for All Chapter 4: Privacy Chapter 5: Franc-ly Speaking Chapter 6: Equality for All, Redux Chapter 7: Apples and Oranges Chapter 8: Makin' Objects Chapter 9: Times We're Livin' In Chapter 10: Interesting Timer Chapter 11: The Root of All Evil Chapter 12: Addition, Finally Chapter 13: Make It Chapter 14: Change Chapter 15: Mixed Currencies Chapter 16: Abstraction, Finally Chapter 17: Money Retrospective PART II: The xUnit Example Chapter 18: First Steps to xUnit Chapter 19: Set the Table Chapter 20: Cleaning Up After Chapter 21: Counting Chapter 22' Dealing with Failure Chapter 23: How Suite It Is Chapter 24: xUnit Retrospective PART III: Patterns for Test-Driven Development Chapter 25: Test-Driven Development Patterns Chapter 26: Red Bar Patterns Chapter 27: Testing Patterns Chapter 28: Green Bar Patterns Chapter 29: xUnit Patterns Chapter 30: Design Patterns Chapter 31: Refactoring Chapter 32: Mastering TDD Appendix I: Influence Diagrams Appendix II: Fibonacci Afterword Index