标签:#极限编程

共 13 篇文章

结对编程

结对编程()是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。 在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好…

沃德·坎宁安

沃德·坎宁安(;),是美國计算机程序员,也是Wiki概念的发明者。他也是设计模式和敏捷软件方法的先驱之一。 他从普渡大学获得电子工程和计算机科学的交叉学科工学学士学位,以及计算机科学的硕士学位。 1995年在波特兰模式知识库创建了第一个Wiki站点。这个站点现在还在运作,致力于“人、项目和模式”,并且是一个“程序设计语言思想的非正式历史”。例如,这个站点被用来为有用的软件开放的模式语言以及极限编程的软件方法的发展进行分类。坎宁安提到Wi…

马丁·福勒

马丁·福勒(,),生于英國英格兰沃爾索爾,軟體工程師,也是一个软件开发方面的著作者和国际知名演说家,专-{}-注于面向对象分析与设计,统一建模语言,领域建模,以及敏捷软件开发方法,包括极限编程。 生平 马丁·福勒出生于英格兰沃尔索耳,在伦敦居住十年之后于1994年移居美国,居住在马萨诸塞州波士顿附近,梅尔萝丝市郊区。曾在玛丽女王文理学校接受中等教育。 马丁·福勒80年代初期开始从事软件工作,已写就五本软件开发方面的书籍(参见“主要著作”…

模拟对象

在面向对象程序设计中,模拟对象(,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象。程序员通常创造模拟对象来测试其他对象的行为,很类似汽车设计者使用碰撞测试假人来模拟车辆碰撞中人的动态行为。 为什么要使用模拟对象 在单元测试中,模拟对象可以模拟复杂的、真实的(非模拟)对象的行为, 如果真实的对象无法放入单元测试中,使用模拟对象就很有帮助。 在下面的情形,可能需要使用模拟对象来代替真实对象: 真实对象的行为是不确定的(例如,当前的…

单元测试

在计算机编程中,单元测试()又称为模块测试 ,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生类(子类)中的方法。 通常来说,程式設計師每修改一次程式就會進行最少一次單元測試,在編寫程式的過程中前後很可能要進行多次單元測試,以證實程式達到軟件規格書要求的工作目標,沒有程…

极限项目管理

极限项目管理(XPM)是把极限编程的原则应用到项目管理领域的一种方法。极限项目管理是用于非常复杂和非常不确定的项目。 极限项目管理不同于传统项目管理主要在于它是开放的,具有弹性的,不确定性的方法。极限项目管理主要关注于项目管理的人的方面(例如 管理项目利益所有者),而不是繁复的计划方法和沉重的形式主义。 极限项目管理的其他名字有: 激进项目管理 敏捷项目管理 书籍 Ajani, Shaun H. Extreme Project Mana…

傑夫·薩瑟蘭

傑夫·薩瑟蘭(,),是产品管理框架Scrum的创造者之一。1995年,他与肯·施瓦伯一起在OOPSLA上发表介绍了Scrum。2001年,杰夫为敏捷软件开发宣言的起草做出了重要贡献。他与肯·施瓦伯一同专业并维护了含有Scrum这一框架官方定义的《Scrum指南》。退伍後,在史丹佛大學取得統計學碩士,并担任西点军校的数学教授。後於科羅拉多大學醫學院取得生物測定學博士学位。杰夫曾任美國國家癌症中心研究員。進入企業界后,曾在多間企業擔任軟體技…

用户故事

用户故事()是软件开发和项目管理中的常用術語。主旨是以日常语言或商务用语撰寫句子,是一段簡單的功能表述。以客戶或使用者的觀點撰寫下有價值的功能、引導、框架來與使用者進行互動,進而推動工作進程。可以被認為是一種規格文件,但更精確而言,它代表客戶的需求與方向。以該用戶故事來反应對象在組織內的其工作职责、范围、需要進行的任務等。用户故事在敏捷开发方法中用来定义系统需要提供的功能和实现需求管理。 用戶故事的實例 参考文献 Daniel H. S…

测试驱动开发

测试驱动开发(,縮寫為TDD)是一種软件开发过程中的應用方法,由极限编程中倡导,以其倡导先写测试程序,然后编码实现其功能得名。测试驱动开发始于20世纪90年代。测试驱动开发的目的是取得快速反馈并使用“illustrate the main line”方法来构建程序。 测试驱动开发是戴两顶帽子思考的开发方式:先戴上实现功能的帽子,在测试的辅助下,快速实现其功能;再戴上重构的帽子,在测试的保护下,通过去除冗余的代码,提高代码品質。测试驱动着…

代码重构

代码重构()指改寫软件代码以增加可读性或者简化代码结构而不影响输出结果。 软件重构需要借助重构工具完成,重构工具能够修改代码同时修改所有引用该代码的地方。在极限编程的方法学中,重构需要单元测试来支持。 重构代码 在软件工程学裡,重构代码一词通常是指在不改变代码的外部行为情况下而修改源代码。在极限编程或其他敏捷方法学中,重构常常是软件开发中的一部分:开发者轮流增加新的测试和功能,并重构代码来增进代码间的清晰性和一致性。同时,自动化的单元测…

YAGNI

YAGNI是英文 “You aren't gonna need it” 的缩写,一般认为属于软件工程方法极限编程。YAGNI 原则指出,程序员应该在面临确凿的需求时,才实现相应功能。 }}

每日构建

每日构建(Daily build)或每夜构建(Nightly build)是在每天进行最新版本程序的构建流程。编译首先可以确保所需依赖项的存在,其次可以进行测试确保无程序错误的存在。每日构建也通常被公开发布以接收对最新特性的反馈。在此语境中的构建一词是编译并链接所有构成程序的文件的结果。这种严谨流程在许多程序员为程序的同一部分编写代码的大型组织中极其重要。进行每日构建可确保开发者可以继续工作并对在完成工作的最后一天出现的新程序错误有着一…