¿Se puede omitir la revisión del código si tiene pruebas unitarias?
¿Pero por qué?
La función principal de la revisión por pares es no detectar errores.
Sí, puede identificar algunos errores potenciales y un código dudoso propenso a errores, esto sucede a menudo, pero ocasionalmente detectar algunos errores no significa que la revisión por pares sea una forma confiable de descartar la presencia de errores. Lejos de eso. No es la herramienta adecuada para verificar la corrección funcional de la implementación.
Sin embargo, la revisión de código impone la mantenibilidad del código . Exigiré que el código sea limpio y comprensible (no solo para su autor) antes de que entre en producción.
La presencia de pruebas unitarias es completamente ortogonal a eso. Puede tener una cobertura del 100% del código y todas las pruebas que pasen por un código totalmente incomprensible.
La revisión de código también sirve para familiarizar a otros desarrolladores con su trabajo para que sepan qué es qué y puedan recoger desde allí, o manejar informes de errores mientras está de vacaciones, etc. Saber lo que ha hecho de inmediato puede ayudarlos. hacen bien su trabajo: mantenga la base de código coherente (respete patrones y convenciones similares en toda la aplicación) o evite la duplicación de código.
En un esquema más amplio de cosas, uno también aprende y crece como desarrollador al leer el código de otras personas.
Las pruebas unitarias difícilmente pueden ser una sustitución de ninguna de ellas. Sí, si están bien escritos, se leen como documentación, y debemos esforzarnos por esto. Pero, de nuevo, esto no es mutuamente exclusivo con la realización de una revisión por pares, sino todo lo contrario: todas las ventajas de la revisión por pares siguen siendo válidas, el hecho de que sus pares tengan algunas buenas pruebas unitarias para mirar solo hará que el proceso de revisión sea más fácil y aún más beneficioso en lugar de redundante.