人物

Kent Beck

捷开发的开创者之一

  • 外文名:Kent Beck
  • 出生日期:1961年
  • 国籍:美国
  • 主要成就:设计模式,重构
  • Kent Beck介绍
    Kent Beck全家似乎都弥漫着技术的味道。生长在硅谷, 有着一个对无线电痴迷的祖父,以及一个电器工程师父亲。从小就引导Kent Beck成为了业余无线电爱好者。软件开发方法学的泰山北斗,是最早研究软件开发的模式和重构的人之一,是敏捷开发的开创者之一,更是极限编程和测试驱动开发的创始人,同时还是JUnit的作者,对当今世界的软件开发影响深远。

    人物简介

    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敏捷开发的狂潮吧。

    主要成就

    设计模式

    设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样。

    Kent Beck虽然不是《设计模式:可复用面向对象软件的基础》一书的作者,但确是对设计模式的发展影响最大的先行者之一。建筑师Christopher Alexander第一个研究了建筑物和社区的模式,并开发了一个“模式语言”来生成它们,Kent Beck是软件界中首先倡导学习Christopher Alexander的工作的先驱者之一。在1993年Kent Beck开始在《The Smalltalk Report》上撰写关于Smalltalk模式的一个专栏。Kent Beck在1996年出版了《Smalltalk Best Practice Patterns》一书。

    重构

    重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

    在软件的重构技术的发展历程上,Kent Beck同样是一位伟大的先行者。最早认识重构重要性的两个人是Ward Cunningham和Kent Beck,他们早在1980s之前就开始使用Smalltalk,那是个特别适合重构的环境。Smalltalk是一个十分动态的环境,你可以很快写出极具功能的软件。Smalltalk的「编译/连结/执行」周期非常短,因此很容易快速修改代码。它是面向对象,所以也能够提供强大工具,最大限度地将修改的影响隐藏于定义良好的接口背后。Ward和Kent努力发展出一套适合这类环境的软件开发过程(如今Kent把这种风格叫作极限编程)。他们意识到:重构对于提高他们的生产力非常重要。从那时起他们就一直在工作中运用重构技术,在严肃而认真的软件项目中使用它,并不断精炼这个程序。Ward和Kent的思想对Smalltalk社群产生了极大影响,重构概念也成为Smalltalk文化中的一个重要元素。

    重构:改善既有代码的设计》一书中,Kent Beck也作出了很多贡献,是该书的合作者之一,著名的“代码坏味道”这一说法就是由Kent Beck提出的。

    极限编程

    极限编程(ExtremeProgramming,简称XP)是由Kent Beck在1996年提出的。Kent Beck在九十年代初期与Ward Cunningham共事时,就一直共同探索着新的软件开发方法,希望能使软件开发更加简单而有效。Kent仔细地观察和分析了各种简化软件开发的前提条件、可能性以及面临的困难。1996年三月,Kent终于在为Daimler Chrysler所做的一个项目中引入了新的软件开发观念——XP。

    极限编程是一个轻量级的、灵巧的软件开发方法;同时它也是一个非常严谨和周密的方法。它的基础和价值观是交流、朴素、反馈和勇气;即,任何一个软件项目都可以从四个方面入手进行改善:加强交流;从简单做起;寻求反馈;勇于实事求是。XP是一种近螺旋式的开发方法,它将复杂的开发过程分解为一个个相对比较简单的小周期;通过积极的交流、反馈以及其它一系列的方法,开发人员和客户可以非常清楚开发进度、变化、待解决的问题和潜在的困难等,并根据实际情况及时地调整开发过程。

    测试驱动开发

    测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。

    测试驱动开发的基本过程如下:

    ① 快速新增一个测试

    ② 运行所有的测试(有时候只需要运行一个或一部分),发现新增的测试不能通过

    ③ 做一些小小的改动,尽快地让测试程序可运行,为此可以在程序中使用一些不合情理的方法

    ④ 运行所有的测试,并且全部通过

    ⑤ 重构代码,以消除重复设计,优化设计结构

    简单来说,就是不可运行/可运行/重构——这正是测试驱动开发的口号。

    JUnit

    JUnit由XP和TDD的创始人、软件大师Kent Back以及Eclipse架构师之一、设计模式之父Erich Gamma共同打造。名家的手笔和理念使得JUnit简单而强大,它将Java程序员代入了测试驱动开发的时代。JUnit连任了2001、2002年“Java World编辑选择奖”以及2003年“Java World最佳测试工具”和2003年“Java Pro最佳Java测试工具”等众多奖项,深受Java程序员好评。

    十大Java人物

    • 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 : 领导的敏捷潮

    出版著作

    • 1987. "Using Pattern Languages for Object-Oriented Program". 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)

    相关资讯
    内容声明

    1、本网站为开放性注册平台,以上所有展示信息均由会员自行提供,内容的真实性、准确性和合法性均由发布会员负责,本网站对此不承担任何法律责任。

    2、网站信息如涉嫌违反相关法律规定或侵权,请发邮件至599385753@qq.com删除。

    Copyright © 趣爱秀