複製鏈接
請複製以下鏈接發送給好友

Kent Beck

鎖定
軟件開發方法學的泰山北斗,是最早研究軟件開發的模式和重構的人之一,是敏捷開發的開創者之一,更是極限編程和測試驅動開發的創始人,同時還是JUnit的作者,對當今世界的軟件開發影響深遠。
中文名
肯特·貝克
外文名
Kent Beck
國    籍
美國
出生日期
1961年
畢業院校
俄勒岡州大學
職    業
軟件開發大師
主要成就
極限編程
測試驅動開發
單元測試
設計模式
敏捷開發
代表作品
極限編程,測試驅動開發,實現模式

Kent Beck人物簡介

Kent Beck全家似乎都瀰漫着技術的味道。生長在硅谷, 有着一個對無線電痴迷的祖父,以及一個電器工程師父親。從小就引導Kent Beck成為了業餘無線電愛好者。
在俄勒岡州大學讀本科期間,Kent Beck就開始研究起模式。然而在他最終拿到計算機學位之前,他卻是在計算機和音樂中交替學習。似乎Java大師都能夠有這樣的能耐,另一Java大牛Rod Johnson同樣也擁有音樂學的博士學位。
Kent Beck一直倡導軟件開發的模式定義。早在1993年,他就和Grady Booch(UML之父)發起了一個團隊進行這個方面的研究。雖然著有了《Smalltalk Best Practice Patterns》一書,但這可能並不是Kent Beck最大的貢獻。他於1996年在DaimlerChrysler啓動的關於軟件開發的項目,才真正地影響後來的軟件開發。這次的傑作就是XP(極限編程)的方法學。和軟件開發大師Martin Fowler合著的《Planning Extreme Programming》可謂是關於XP的奠基之作。從此,一系列的作品如《Test Driven Development: By Example》,《Extreme Programming Explained: Embrace Change》讓更多的人領略到了極限編程的精髓,也逐步導致了極限編程的流行。
Kent Beck的貢獻遠不僅如此。對於眾多的Java程序員來説,他和Erich Gamma共同打造的JUnit,意義更加重大。也許正是這個簡單而又強大的工具,讓眾多的程序員更加認可和信賴極限編程,從而引起了Java敏捷開發的狂潮吧。 [1] 

Kent Beck主要成就

Kent Beck設計模式

設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。 毫無疑問,設計模式於己於他人於系統都是多贏的,設計模式使代碼編制真正工程化,設計模式是軟件工程的基石脈絡,如同大廈的結構一樣。
Kent Beck雖然不是《設計模式:可複用面向對象軟件的基礎》一書的作者,但確是對設計模式的發展影響最大的先行者之一。建築師Christopher Alexander第一個研究了建築物和社區的模式,並開發了一個“模式語言”來生成它們,Kent Beck是軟件界中首先倡導學習Christopher Alexander的工作的先驅者之一。在1993年Kent Beck開始在《The Smalltalk Report》上撰寫關於Smalltalk模式的一個專欄。Kent Beck在1996年出版了《Smalltalk Best Practice Patterns》一書。 [2] 

Kent Beck重構

重構(Refactoring)就是在不改變軟件現有功能的基礎上,通過調整程序代碼改善軟件的質量、性能,使其程序的設計模式和架構更趨合理,提高軟件的擴展性和維護性。
在軟件的重構技術的發展歷程上,Kent Beck同樣是一位偉大的先行者。最早認識重構重要性的兩個人是Ward Cunningham和Kent Beck,他們早在1980s之前就開始使用Smalltalk,那是個特別適合重構的環境。Smalltalk是一個十分動態的環境,你可以很快寫出極具功能的軟件。Smalltalk的「編譯/連結/執行」週期非常短,因此很容易快速修改代碼。它是面向對象,所以也能夠提供強大工具,最大限度地將修改的影響隱藏於定義良好的接口背後。Ward和Kent努力發展出一套適合這類環境的軟件開發過程(如今Kent把這種風格叫作極限編程)。他們意識到:重構對於提高他們的生產力非常重要。從那時起他們就一直在工作中運用重構技術,在嚴肅而認真的軟件項目中使用它,並不斷精煉這個程序。Ward和Kent的思想對Smalltalk社羣產生了極大影響,重構概念也成為Smalltalk文化中的一個重要元素。 [3] 
重構:改善既有代碼的設計》一書中,Kent Beck也作出了很多貢獻,是該書的合作者之一,著名的“代碼壞味道”這一説法就是由Kent Beck提出的。

Kent Beck極限編程

極限編程(ExtremeProgramming,簡稱XP)是由Kent Beck在1996年提出的。Kent Beck在九十年代初期與Ward Cunningham共事時,就一直共同探索着新的軟件開發方法,希望能使軟件開發更加簡單而有效。Kent仔細地觀察和分析了各種簡化軟件開發的前提條件、可能性以及面臨的困難。1996年三月,Kent終於在為Daimler Chrysler所做的一個項目中引入了新的軟件開發觀念——XP。
極限編程是一個輕量級的、靈巧的軟件開發方法;同時它也是一個非常嚴謹和周密的方法。它的基礎和價值觀是交流、樸素、反饋和勇氣;即,任何一個軟件項目都可以從四個方面入手進行改善:加強交流;從簡單做起;尋求反饋;勇於實事求是。XP是一種近螺旋式的開發方法,它將複雜的開發過程分解為一個個相對比較簡單的小週期;通過積極的交流、反饋以及其它一系列的方法,開發人員和客户可以非常清楚開發進度、變化、待解決的問題和潛在的困難等,並根據實際情況及時地調整開發過程。 [4] 

Kent Beck測試驅動開發

測試驅動開發,英文全稱Test-Driven Development,簡稱TDD,是一種不同於傳統軟件開發流程的新型的開發方法。它要求在編寫某個功能的代碼之前先編寫測試代碼,然後只編寫使測試通過的功能代碼,通過測試來推動整個開發的進行。這有助於編寫簡潔可用和高質量的代碼,並加速開發過程。
測試驅動開發的基本過程如下:
① 快速新增一個測試
② 運行所有的測試(有時候只需要運行一個或一部分),發現新增的測試不能通過
③ 做一些小小的改動,儘快地讓測試程序可運行,為此可以在程序中使用一些不合情理的方法
④ 運行所有的測試,並且全部通過
⑤ 重構代碼,以消除重複設計,優化設計結構
簡單來説,就是不可運行/可運行/重構——這正是測試驅動開發的口號。

Kent BeckJUnit

JUnit由XP和TDD的創始人、軟件大師Kent Back以及Eclipse架構師之一、設計模式之父Erich Gamma共同打造。名家的手筆和理念使得JUnit簡單而強大,它將Java程序員代入了測試驅動開發的時代。JUnit連任了2001、2002年“Java World編輯選擇獎”以及2003年“Java World最佳測試工具”和2003年“Java Pro最佳Java測試工具”等眾多獎項,深受Java程序員好評。

Kent Beck十大人物

  • James Gosling : Java之父
  • Bill Joy : 軟件業的愛迪生
  • Joshua Bloch : Java 2 元勳
  • Bruce Eckel : 功勳卓著的機會主義分子
  • Rickard Oberg :J2EE奇才
  • Doug Lea : 世界上對Java影響力最大的個人
  • Scott McNealy :SUN十年來的掌舵者
  • Rod Johnson : 用一本書改變了Java世界的人
  • Alan Kay :Java的精神先鋒
  • Kent Beck : 領導的敏捷潮 [1] 

Kent Beck出版著作

  • 1987. "Using Pattern Languages for Object-Oriented Programs". With Ward Cunningham. OOPSLA'87.
  • 1989. "A Laboratory For Teaching Object-Oriented Thinking". With Ward Cunningham. OOPSLA'89.
  • 1989. "Simple Smalltalk Testing: With Patterns". Origins of xUnit frameworks.
  • 1996. Smalltalk Best Practice Patterns. Prentice Hall. (ISBN 978-0134769042)
  • 1996. Kent Beck's Guide to Better Smalltalk : A Sorted Collection. Cambridge University Press. (ISBN 978-0521644372)
  • 1999. Extreme Programming Explained: Embrace Change. Addison-Wesley. Winner of the Jolt Productivity Award. (ISBN 978-0321278654)
  • 2000. Planning Extreme Programming. With Martin Fowler. Addison-Wesley. (ISBN 978-0201710915)
  • 2002. Test-Driven Development: By Example. Addison-Wesley. Winner of the Jolt Productivity Award. (ISBN 978-0321146533)
  • 2003. Contributing to Eclipse: Principles, Patterns, and Plugins. With Erich Gamma. Addison-Wesley. (ISBN 978-0321205759)
  • 2004. JUnit Pocket Guide. O'Reilly. (ISBN 978-0596007430)
  • 2004. Extreme Programming Explained: Embrace Change, 2nd Edition. With Cynthia Andres. Addison-Wesley. Completely rewritten. (ISBN 978-0201616415)
  • 2008. Implementation Patterns. Addison-Wesley. (ISBN 978-0321413093)
參考資料