在一个极端的编程项目中,程序员大部分时间都是一对编程的。
由于这些对也是旋转的,也就是说,将程序与不同的人配对,并且有一种集体所有权的感觉,所以源代码经常被检查和更新。
既然如此,是否需要对代码进行审查?我的意思是,停止编程,实际上只做代码评审。
发布于 2014-12-04 21:44:02
极限编程的关键资源之一是Ward的Wiki,又名波特兰模式库,也就是C2.com。在这里,许多人研究了各种方法,并在使用这些方法时对它们进行了记录。
在这个wiki中,有一个页面:极限编程代码评审有很多贡献者,包括Ron和Kent。
对此,他们说:
许多大型流程专家认为代码评审很重要。它们的目的是确保符合标准,更重要的是,确保代码清晰、高效、工作并具有QWAN。他们还打算帮助向团队的其他成员传播有关代码的知识。ExtremeProgramming要求所有的开发都由两个工程师共同完成。代码实际上是在动态地被审查的,在相当大的程度上。这确保了在任何时候都有一个以上的人对代码有很好的了解。ExtremeProgramming要求所有对象都有UnitTests。这些方法确保对象工作,并继续以修改后的方式工作。有些语言是反射性的。在这些语言中,UnitTests可以直接检查重要标准的一致性。(例如,对象必须同时实现#=和#散列,或者两者都不实现。)ExtremeProgramming practices,这意味着需要注意的对象将被许多开发人员浏览。这往往会给那些产生不符合标准的代码带来压力。当开发人员发现偏差时,会鼓励/期望他们将代码带入一致。这还确保了代码知识在创建代码的最初对程序员之外的传播。因此,ExtremeProgramming项目不需要明确的评审。把它们从你的方法中删除。
其他人也对这个话题进行了更多的讨论。
关键是,通过测试、协作所有权和对编程的结合,这些都解决了代码评审通常应该做的目标,如:
这些都是通过对编程和极端编程中的自动测试来持续完成的,因此没有必要使用显式的费根检验。
相关阅读:
https://softwareengineering.stackexchange.com/questions/264614
复制相似问题