极限编程

极限编程_第1张图片
图片发自App

我如今在ThoughtWorks公司做技术,能够实现“把通常的做法推进到极致”,比如测试先行、持续集成和结对编程

这种方法把什么做到极限了呢?比如,在软件开发中,测试是一个通常的做法,一般都会在程序员编写完代码后,由测试工程师来进行测试。Beck把测试这个通常的做法往前推,即在程序员编写代码前,先编写单元测试代码,然后再编写生产代码,让测试运行通过。这样就把测试推进到极致,能让程序员通过自动化单元测试更快发现自己的代码是否有功能性缺陷。

再比如,在软件开发中,代码审查也是一个通常的做法,一般会在程序员编写完代码后,由一两位资深程序员来审议代码的质量。Beck把代码审查这个做法再往前推,即在程序员编写代码前,再另外找一个程序员和他结对编程,在编写代码的过程中随时做代码审查。两人在结对编程过程中,还能互换角色,相互做代码审查。这样就把代码审查推进到极致,能让程序员在结对编程中更快地发现自己的代码是否有问题。

再比如,软件开发一般需要把一个大系统分解为若干模块,每个模块分别开发。等各个模块完成代码编写后,再做集成测试。Beck把集成测试这个做法往前推,即在编写代码的过程中,每过几小时就要进行一次自动化的集成测试,把集成测试推进到极致,能让程序员通过自动化集成测试更快地发现自己的代码是否有集成的缺陷。

你可能感兴趣的:(极限编程)