编码标准
拥有编码标准有两个目的:
防止团队被一些例如事物没有以最大速度发展这种无关紧要的愚蠢争论搞得不知所措。
它支持其它方法。
如果没有编码标准,重新划分代码会更加困难,按应当的频度交换对更困难,快速前进也更困难。目标应该是团队中没有人辨认得出是谁写的哪一部分代码。以团队为单位对某一标准达成协议,然后遵守这一标准。目标不是创建一个事无巨细的规则列表,而是提供将确保您的代码可以清晰交流的指导方针。编码标准开始时应该很简单,然后根据团队经验逐步进化。不要预先花费太多时间。创建能够工作的最简单标准,然后逐步发展。
系统比喻
体系结构是做什么用的?它提供了系统各种组件以及它们是如何交互的画面 -- 一种映射,可以让开发人员了解新的代码部分适合放在哪里。
XP 中的系统比喻与大多数方法称作的体系结构差不多。比喻为团队提供了一致的画面,他们可以用它来描述现有系统的工作方式、新部件适合的位置,以及它们应该采取的形式。
重要的是要记住,关键要让每个人理解系统是如何组合在一起的,而不是美丽的比喻。有时您就是无法想到一个好的比喻。想到时就太好了。
一起工作的方法
整体大于各个部分之和。您可以实现单一方法或一小部分方法,比不使用任何方法得到更大收益。但您只能在实现所有方法的情况下获得最大收益,因为它们的力量来自它们之间的交互。
最初时按照书籍来执行 XP,作为基准。一旦理解了如何进行交互,就拥有了将它们适应于自身环境所需的知识。请记住,“进行 XP”不是目的,而是到达终点的一种手段。目标是快速地开发高级软件。如果您的过程有一些变异,已称不上是在进行 XP,但结果仍能让您战胜所有竞争对手,您已经成功了。
为什么 XP 很重要
坦率地说,XP(或者任何其它灵活方法)根本就不重要。它能够产生的结果才是关键。如果如 XP 这样的灵活方式可以帮助您更快地开发更好的软件而少受痛苦,那么它值得考虑。
还记得我们在这篇文章开始时提到的那些令人生畏的数字吗?我们相信使用 XP 开发面向对象软件可以有机会将它们变得更好。目前我们的经验已经证实了这一信念。
参考资料
在 RoleModel Software 的 XP Portal 中了解有关 XP 的详细信息。
可以在 Alistair Cockburn 和 Laurie Williams (XP2000 submission, 2000) 所著的 The Costs and Benefits of Pair Programming 中了解到有关成对编程所具有的经济方面的意义。
在 Pairprogramming.com 上可以知道成对编程的常规详细信息。
下载 xUnit 测试工具。
如果您希望了解有关 XP 的详细信息,请务必选取一本本书中引用的书籍:
Planning Extreme Programming,由 Kent Beck 和 Martin Fowler 著 (Addison-Wesley, 2000)
Extreme Programming Explained: Embrace Change,由 Kent Beck 著 (Addison-Wesley, 1999)
Leading the Revolution 由 Gary Hamel 著 (Harvard Business School, 2000)
Jeff Canna 有关单元和功能测试的文章(developerWorks,2001 年 3 月)将 XP 哲学用在测试上。