Muchas respuestas geniales aquí. Algunas cosas que agregaría:
Cuando tiene que explicar el código a otra persona, a menudo en el curso de la explicación, el desarrollador puede darse cuenta de repente de que tiene un error. He visto que sucede una y otra vez que el desarrollador se detiene en seco y dice "oh, espera, eso está mal" antes de que el revisor haya entendido la cosa lo suficientemente bien como para ver el error.
Saber que su código será inspeccionado por otra persona le da más incentivos para usar estándares de codificación (lo que facilita el mantenimiento) o usar menos métodos "vaqueros" que nadie más que usted (y a veces ni siquiera usted) entenderá. No quiere avergonzarse cuando muestra su código a otra persona, por lo que, en primer lugar, lo hace mejor. Debido al factor de vergüenza, deja menos comentarios del código con: "No sé por qué esto funciona, pero no te metas con eso". en la base del código.
Los desarrolladores que tienen la necesidad de una supervisión o capacitación más extensa se identifican fácilmente. También lo son los incompetentes. Cuanto antes pueda encontrar y abordar los problemas de rendimiento, mejor será el equipo en su conjunto y mayor será la calidad de la aplicación. Es bueno averiguar esta información antes de tomar al nuevo tipo que necesita capacitación y asignarlo a la parte más difícil y crítica de su aplicación.
A veces es solo una cuestión de corregir una percepción errónea que ahorrará cometer el mismo error en muchos otros lugares. Por ejemplo, recientemente estábamos revisando algunos SQL para obtener informes complejos y descubrimos que varios de nuestros nuevos desarrolladores tenían el mismo malentendido sobre dónde encontrar una información específica en la base de datos (es cierto que el lugar que eligieron parecía lógico, que es un problema de diseño de la base de datos). también es necesario corregirlo) que sería crítico para escribir correctamente todos los informes. Al encontrar el problema y corregirlo en los primeros informes que escribieron, evitó que ocurriera el mismo error en el resto de los informes. Y algo a lo que los desarrolladores mayores (en el tiempo trabajando aquí, no a la edad) estaban tan acostumbrados que no pensaron que fuera necesario explicarlo salió a la luz.
Los juniors pueden aprender del código más sofisticado escrito por seniors (que tienden a comprender mejor la captura de errores y los casos límite, por ejemplo) y los seniors pueden aprender de las nuevas técnicas utilizadas por juniors a las que aún no han estado expuestos.
A veces, las personas que trabajan en partes diferentes pero relacionadas de la aplicación se dan cuenta de que van en dos direcciones diferentes y mutuamente excluyentes. Vaya, más fácil de arreglar ahora.
No es tan fácil colarse en valores codificados que cambiarán con el tiempo solo para que funcione. Esto evita muchos errores futuros, como cosas que cambian al comienzo de cada año fiscal.
A veces me he quedado atrapado en cómo hacer algo y aprendí una nueva técnica que era justo lo que quería al revisar el código de las cosas de otra persona.
Si está familiarizado con la forma en que piensan los otros miembros de su equipo (qué revisión de código le ayudará a comprenderlo), será más fácil resolver los problemas más adelante porque comenzará a comprender cómo Joe se habría acercado a ese tipo de problema.