Revisiones de código con Team Foundation Server

Por su capacidad para detectar y corregir defectos de manera temprana, las revisiones de código son tan importantes como el testeo para controlar los costes y los plazos. Tambien influye positivamente en la calidad del código fuente. Ya he hablado con anterioridad, sobre como cada vez cobra más importancia escribir código de calidad y como incluso hay libros sobre el retorno de la inversión realizada en escribir buen código.

Un estudio del Instituto de Ingeniería de la NASA descubrio que las revisiones de código detectan aproximadamente el doble de defectos por hora que las pruebas, lo que sugiere que un enfoque adecuado para acortar plazos es combinar pruebas con revisiones de código.

Adicionalmente a su impacto en la mejora de la calidad, las revisiones de código sirven como medio de transmisión del conocimiento. Los desarrolladores experimentados pueden solucionar problemas en el código de los inexpertos, los desarrolladores inexpertos aprenden del código de los experimentados. Además sirve para compartir nuevas técnicas aprendidas por los desarrolladores.

El proceso a la hora de realizar revisiones de código incluye:
Notificar y distribuir el nuevo código: el autor del código notifica a los encargados de la revisión que éste ya está disponible.
Realizar la revisión: Los encargados de la revisión, preferiblemente ayudados por un checklist de errores habituales en el pasado, revisan el artefacto.
Evaluar los resultaldos de la revisión: El autor y los encargados de la revisión se reúnen y examinan el resultado de la revisión.
Analizar los resultados de la revisión: Capturar información sobre la cantidad de material revisado, el número y cantidad de defectos detectados, el tiempo utilizado en la reunión de revisión y si el producto pasó o falló la revisión.
Seguimiento: Asegurar que el autor incial realiza los cambios necesarios detectados en la revisión.

Desde el punto de vista de la gestión del proyecto es preciso tener en cuenta que hemos de:
Comenzar en fases tempranas del proyecto las revisiones.
Mantener las revisiones técnicas centradas en la detección de defectos.
Mantener las revisiones técnicas técnicas.
Mantener información sobre qué material ha sido revisado.
Documentar los defectos encontrados durante las revisiones.
Verificar que los defectos encontrados son corregidos.

Realizar estas actividades, sin el apoyo de una herramienta, puede añadir una carga buracrática al proyecto que mina la efectividad de esta técnica. Team Foundation Server no nos ayuda, tal y como sale de la caja, a la hora de realizar revisiones de código.

La buena noticia es que gracias a las excelentes características de extensibilidad de Team Foundatio Server ya al esfuerzoa de algunos desarrolloadores existe un proyecto en CodePlex, del que además podemos ver el código fuente (un excelente ejemplo de implementación de póliticas para Team Foundation Server), cuyo proposito es dotar a Team Foundation Server de las capacidades necesarias para ayudarnos en las revisiones código. Este proyecto se llama TFS Code Review Workflow y proporciona una combinación de un elemento de trabajo (Work Item) para revisiones de código y una política (Check-in Policy) de revisión de código. La pólitica impide que podamos hacer checkín de un código fuente si no tiene asociada un elemento de trabajo de revisión de código y este está aprovado. Solo los usuarios del grupo {Project}Code Reviewers pueden aprobar reviones de código.

Aun se hechan en falta algunas características y en especial el tener algún informe, pero parece que van a trabajar en ello.

Antes de usar este complemento para Team Foundation Server quiza os interese leer Instrucciones para realizar revisiones de diseño y de código en la MSDN, sin duda un documento interesante.

Un comentario sobre “Revisiones de código con Team Foundation Server”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *