¿La programación de pares elimina la necesidad de revisiones de código en un proyecto de Programación Extrema (XP)?

13

En un proyecto de programación extrema, los programadores realizan la programación de pares la mayor parte del tiempo.

Como estos pares también rotan, es decir, se empareja el programa con diferentes personas, y hay un sentido de propiedad colectiva, el código fuente se está revisando y actualizando con frecuencia.

Siendo así, ¿hay necesidad de revisiones de código? Quiero decir, dejar de programar y en realidad solo hacer revisiones de código.

    
pregunta Eduardo Copat 04.12.2014 - 22:24

1 respuesta

13

Uno de los recursos clave para la programación extrema es el de Ward's Wiki, también conocido como Portland Pattern Repository, también conocido como C2.com . Aquí es donde varias personas analizaron diversas metodologías y las documentaron a medida que las utilizaban.

Dentro de este wiki, hay una página: Revisiones del Código de Programación Extrema que tiene una cantidad de contribuyentes, incluyendo Ron Jeffries y Kent Beck.

A esto, dijeron:

  

Muchos gurús de grandes procesos consideran que las revisiones de códigos son importantes. Su objetivo es garantizar el cumplimiento de las normas y, lo que es más importante, garantizar que el código sea claro, eficiente, funcione y tenga QWAN. También intentaron ayudar a difundir el conocimiento sobre el código al resto del equipo.

     

ExtremeProgramming requiere que todo el desarrollo sea realizado por dos ingenieros que trabajan juntos. El código es realmente revisado sobre la marcha, en gran medida. Esto garantiza que más de una persona tenga un conocimiento íntimo del código en todo momento.

     

ExtremeProgramming requiere que todos los objetos tengan UnitTests. Estos aseguran que el objeto funcione, y continúe trabajando como se modificó.

     

Algunas lenguas son reflexivas. En dichos idiomas, UnitTests puede verificar directamente la conformidad con las normas importantes. (Por ejemplo, los objetos deben implementar tanto # = como #hash, o ninguno de los dos).

     

Prácticas extremas de programación CollectiveCodeOwnership, lo que significa que los objetos que necesitan atención serán examinados por muchos desarrolladores. Esto tiende a ejercer presión sobre aquellos que producen códigos que no cumplen con los estándares. Se alienta / espera a los desarrolladores visitantes que pongan el código en conformidad cuando encuentren desviaciones. Esto también garantiza que el conocimiento del código se difunda más allá del par inicial de programadores que lo crearon.

     

Por lo tanto, los proyectos ExtremeProgramming no requieren revisiones explícitas. Sácalos de tu metodología.

También hay un poco más de discusión sobre el tema de otros.

Los puntos clave, sin embargo, son que con la combinación de pruebas, propiedad colaborativa y programación en pares, estas cosas resuelven los objetivos que normalmente se supone que hace una revisión de código, tales como:

  • Dispersa el conocimiento de lo que se está haciendo
  • Un segundo (o más) conjunto de globos oculares en el código para asegurarse de que cumple con los estándares
  • Verificar el correcto funcionamiento del código

Esto se realiza de forma continua a través de la programación en pares y las pruebas automatizadas en la Programación Extrema y, por lo tanto, no es necesaria una inspección Fagan explícita.

Lectura relacionada:

respondido por el user40980 04.12.2014 - 22:44

Lea otras preguntas en las etiquetas