Code Review
Lo bueno
- Ayuda a reducir errores
- Ayuda a valida requisitos
- Ayuda a mantener estilos de código
- Aprender entre los pares
- Alienta a mejorar
- Mejora la calidad
Lo malo
- Tiempo largo en responder/aprobar
- Comentarios irientes
Reglas
- Somos humanos, seamos amables
- Automatizar todo lo posible
- Todos pueden ser revisores
- Mantener la latencia baja
Responsabilidades del solicitante
- Debe ser legible
- Asegurar que el código pasa todos los tests (si existen)
- Leer el código enviado y anotar comentarios de ser necesario
- Detallar lo mas posible que se pretende solucionar y/o enlazar a tickes
- No asignar revisor si no esta completo el MR
- Ponerse en el caso del revisor
- Hacer MR acotados (tamaño y contexto)
- Evitar hacer cambios posteriores
- Responder a todos los comentarios
- Las revisiones son discusiones no pedidos
Responsabilidades del revisor
- Tener en cuenta descripción y requisitos
- Evaluar posibles daños colaterales
- Dividir comentarios en critico, opcional y positivo
- Ser constructivo en los comentarios
- Dejar al menos un comentario positivo
- Proporcionar sugerencias de código
- Revisar de manera oportuna
Preguntas que debe hacerse el revisor
- ¿El código es difícil de leer?
- ¿Se puede refactorizar?
- ¿Son descriptivos los nombres de variables/clases/funciones/etc?
- ¿Hay funciones demasiado grandes?
- ¿Esta bien documentado el código?
- ¿Puede ser mas eficiente?
- ¿Cumple con los estándares de código?
Conceptos de ingeniería a revisar
- DRY
- Estabilidad
- Performance
- Testeabilidad
- Dependencias
- Efectos colaterales
- Verificaciones/seguridad
Ver que errores y problemas siguen apareciendo y ser mentalmente incapaz de abordarlos me ha provocado sentimientos de fracaso y depresión. Cuando miraba el proyecto momentjs, solo podía ver los aspectos negativos. Los errores, nombres equivocados y errores que había cometido. Provoco estar en un ciclo de estar demasiado deprimido para contribuir, lo que llevó a estar deprimido porque no estaba contribuyendo...
Tim Wood, autor de momentjs
Code Review
By c778551
Code Review
Tips para mejorar el code review
- 224