XP实践 (2) - 动机

本文回顾了极限编程(XP)的发展历程,探讨了在需求和技术不确定的环境下,如何利用XP原则进行远程协作开发。提出了针对当前环境的挑战,并讨论了可能的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1990年初,软件工程业面临着来自于内外两方面的变化。从内在的方面来看,面向过程(Procedural Programming)的编程方式逐渐被面向对象(Object-oriented Programming);而在外部,随着“.com”经济的繁荣和大批IT企业的涌现,如何改进开发过程,以尽快缩短产品到达市场的时间,也成为最受瞩目的热点之一。XP正是在这样的外部环境下诞生的。

 

XP的许多方法和理念,都在此前的项目中有所体现。比如,“测试优先”的方法,最早运用于美国太空署首个载人航天计划(Mercury,1959-1963)中,而“代码重构”等概念,也在1984年Leo Brodie的书中有所论述。1996年,克莱斯勒公司启动了3C综合薪酬系统的开发计划,同时力图通过该项目来熟悉对象编程方法,特别是Smalltalk。于是,他们邀请了这方面的专家,Kent Beck,来优化整个开发过程。而Kent Beck利用了这个机会,把自己的开发理念编制成规范并运用其中。这是XP作为一个独立的开发方法,首次面世。时至今日,XP已经拥有不少变种,这使得它拥有更强的生命力,在很多开发环境与当年迥异的项目中,都有优异表现。

 

因此,XP从它诞生之日起,就不是以教条的面孔出现的。它的出现,是适应环境的结果;它的基础,是以往的编程实践;而它所要解决的,则是怎么在当时的竞争中活下去的问题。

 

而今天,我想知道的是:是否有一种团队开发的方式,在用户需求不明确、技术不明确、开发人员基础参差不齐、没有条件坐班(只能网络交流)的情况下,却能在合理的时间范围内下,完成一个需要相当创造力、且拥有不少新技术亮点的中小型项目?

 

目前的XP开发方案,显然不能解决全部问题,但可以解决一部分问题,所以应该是一个好的蓝本。接下来所要尝试的,就是推陈出新,以适应时代的变化,找到一种行之有效的XP网络协作开发方式,例如:如何有效地进行队员培训,如何利用发达的网络条件进行协作的等等。考虑到中国所特有的庞大程序员人群和开发潜力,这些尝试和探索,其意义应当不局限于市场价值而已。

 

(注:第1-2段内容,主要来源于英文版Wikipedia对于XP的介绍)

 

 

《C++编程实例100篇》是一本深入实践、极具价值的编程教程,它针对C++编程语言提供了丰富的实例,旨在帮助读者更好地理解和掌握C++的各项特性与编程技巧。这本书的经典之处在于它将理论与实践相结合,通过100个精心设计的编程实例,覆盖了C++的各个核心领域,包括基础语法、面向对象编程、模板、异常处理、STL(标准模板库)等。 我们来探讨C++的基础语法。C++是C语言的增强版,它保留了C语言的高效性和灵活性,并引入了类、对象和继承等面向对象编程概念。基础语法包括变量声明、数据类型、运算符、控制结构(如if语句、for循环、while循环)、函数的定义和调用等。在实例中,你可能会遇到如何编写简单的程序,如计算两个数的和,或者实现一个简单的猜数字游戏。 C++的面向对象编程是其一大特色。通过类和对象,你可以构建复杂的软件系统。类是对象的蓝图,它定义了对象的属性和行为。实例化一个类,就是创建一个具体的对象。继承允许你创建新的类,这些类从现有的类派生,共享其属性和方法,同时可以添加新的功能。多态性是面向对象的另一个关键特性,它使得不同类型的对象可以对同一消息作出不同的响应。这些概念在实例中会以各种形式展现,例如设计一个图形界面的类层次,或实现一个简单的模拟游戏。 接下来是模板,C++的模板功能让代码更加通用,可以处理不同类型的数据。模板分为函数模板和类模板,前者可以创建泛型函数,后者可以创建泛型类。通过模板,你可以编写出高效且灵活的代码,比如实现一个通用的排序算法。 异常处理是C++中用于处理程序运行时错误的机制。当程序出现异常情况时,可以抛出一个异常,然后在适当的点捕获并处理这个异常。这使得代码能够优雅地处理错误,而不是让程序崩溃。实例中可能会有涉及文件操作或网络通信时可能出现的异常处理示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值