En mi experiencia, la mejor manera es dejar que el equipo del hoyo haga la revisión del código. Utilizamos una lista de correo de confirmación en cada proyecto donde puede seguir todos los cambios de código en el sistema de control de versiones. La mayoría de nuestros desarrolladores se han suscrito a su lista de correo específica del proyecto porque están interesados en los cambios de código.
Cuando alguien nota un mal camino en el nuevo código fuente, o le explica al confirmador cómo puede hacerlo de una mejor manera, si el confirmador es un aprendiz, o comienza una discusión al respecto, si se trata de un confirmador más experimentado.
Por supuesto, este método no garantiza que se revise todo el código nuevo, especialmente en momentos estresantes cuando ninguno de los miembros del equipo tiene tiempo libre para seguir cada cambio de código. Además, no todos los desarrolladores son responsables de garantizar que cada desarrollador haga su trabajo bien, solo de esto no puede garantizar que se revise. Pero, al menos en nuestros equipos, siempre hay un gerente técnico responsable de la calidad técnica.
Soy un verdadero fanático de las revisiones de código si se ajustan a los siguientes puntajes:
- cada desarrollador tiene la posibilidad de revisar todos los códigos y argumentos de su opinión
- nadie tiene derecho a abusar del código de otros
- no solo el código incorrecto activa una discusión, sino también el código correcto
- las discusiones terminan con felicidad para todas las personas involucradas
- la revisión se realiza casi en tiempo real, al menos antes de que se complete la función
Lo que he aprendido es que si eres alguien que revisa cada línea de código y piensas que tienes que controlar cosas como la calidad del código en términos de formato de código o eficiencia del código, entonces eres muy ineficiente porque haces cosas que las máquinas pueden hacer por tú. Su objetivo debe ser utilizar un sistema de integración continua que controle la calidad de construcción y código de cada contribución de código. Si este sistema genera informes y los envía a los contribuyentes, todo es perfecto.
Debo admitir que si tiene que revisar el código porque tiene que controlar o clasificar la calidad de un programador, entonces mis sugerencias no tienen sentido. En este caso tampoco revisaría el código fuente línea por línea. Yo revisaría cosas como:
- ¿hay problemas de seguridad relevantes
- son las API previstas utilizadas
- ¿el código aplicó la arquitectura especificada
- ¿escribió pruebas útiles (pero solo si fue instruido implícitamente, tuve que aprender)
- Documentación
- proceso de construcción
- ... y algo más, probablemente
Si eres un desarrollador experimentado, siempre encontrarás cosas como bucles que podrías hacer con un mejor rendimiento. Por supuesto, es útil explicar a otros ese conocimiento, pero esto no debería ser parte de la sesión de revisión. Si hay problemas de rendimiento significativos, no porque él (o ella) haya usado una variante menos eficiente de un tipo de lista.
Debido a que la pregunta inicial era por qué algunas personas parecen hacer una mejor revisión que otras, respondería que estas personas tal vez hagan una vista previa antes de que comience la revisión real, lo que significa que probablemente estén preparadas para que sepan exactamente lo que quieren revisar. .