2010-02-09 6 views
10

Parece que la mayoría de las revisiones de códigos son de abajo hacia arriba, ya que los ingenieros más bajos obtienen su código revisado por los superiores y los superiores por los gerentes o simplemente no lo hacen.¿Qué tan beneficioso es una revisión de código descendente?

Se me ocurrió al trabajar con algunos recién graduados que una revisión de código de arriba hacia abajo puede ser una gran cosa. La idea es que los muchachos mayores probablemente adoptamos algunos malos hábitos en el camino que ya no se notan, algo que los muchachos más nuevos pueden aprender sobre las mejores prácticas.

Además, creo que esto podría llevar a un intercambio de ideas entre desarrolladores a todos los niveles, lo que conducirá a una mejor codificación por todas partes. Chicos mayores compartiendo experiencia mientras que los más nuevos comparten la última educación.

¿Alguien tiene experiencia con esto?

Respuesta

5

Tiendo a ir con revisiones de código basadas en pares donde todos pueden ver el código juntos en un proyector una vez a la semana y comentar, hacer preguntas, hacer sugerencias.

Nos damos cuenta de que no podemos obtener una cobertura completa, pero llegamos a los puntos calientes y los beneficios suelen ser aplicados por el equipo en las otras áreas en las que estamos trabajando.

También nos enviamos por correo electrónico unos fragmentos de código sobre los que tenemos preguntas, ya sea que estamos haciendo, o que encontramos a la izquierda de las iteraciones anteriores. Cualquiera puede agarrar a un par de personas en la sala y sentarse y repasar el código mientras se refabrica/reescribe.

6

Creo que mucho de esto depende del equipo de desarrollo involucrado y la calidad de los "nuevos" miembros del equipo. Diría que, en mi experiencia, soy instructor en una universidad y trabajo con muchos graduados. No muchos de estos "nuevos graduados" realmente van a estar en las "mejores prácticas". Sin embargo, hay una extraña ocasión en la que vas a encontrar al tipo que realmente va más allá.

Sin embargo, aparte de eso, una revisión de código de arriba hacia abajo como usted menciona es una GRAN oportunidad de aprendizaje para el nuevo desarrollador y puede ser una buena oportunidad de enseñanza/aprendizaje para el desarrollador de alto nivel.

Por último, enfatizaré que los "chicos mayores" deberían hacer lo que puedan para mantenerse al día sobre las mejores prácticas. En el 99.9% de los casos, las personas nuevas en el campo aprenderán de usted, y dar un buen ejemplo es algo importante. Al menos para mí, y los miembros del equipo con los que trabajo conociendo las mejores prácticas y haciendo las cosas de la "manera correcta", al menos tanto como sea posible, es una parte integral de nuestras actividades cotidianas.

+0

+1 para revisiones de código como una oportunidad de aprendizaje. –

+0

Hay algo que decir para los jóvenes con una perspectiva más fresca, pero estoy de acuerdo: el 90% de las veces el ingeniero principal es el que trae las sugerencias a la mesa –

3

En mi experiencia que se obtiene diferentes beneficia de tener su código revisado por un compañero, un ingeniero de menor rango o un ingeniero más alto ...

  • Una pares también ofrece una crítica constructiva, la retroalimentación y se convierte en otra recurso para comprender lo que está haciendo y cómo mantenerlo en el futuro.

  • Un ingeniero superior a menudo puede analizar mejor cómo su trabajo se ajusta a la imagen más grande y proporcionar orientación en forma de años de experiencia.

  • Un ingeniero Junior obtiene más beneficios de la revisión que usted, en algunos casos aportarán una nueva perspectiva, pero en mi experiencia la mayor parte del beneficio proviene de que les enseña sobre su código, explicando por qué se hizo y tratando de ayudarlos a llegar a un punto en el que puedan sentirse cómodos manteniéndolo en el futuro.

Para obtener el mayor beneficio de nuestra revisiones de código para toda la organización debe tener en cuenta que su trabajo revisado por más de una persona, tirando de cada uno de estos grupos. De esta forma, obtendrá un conjunto de comentarios más diverso y, como una ventaja adicional, más personas conocerán su código y podrán mantenerlo en el futuro.