En mi empresa, antes de la entrega de cualquier proyecto, mi jefe les pide a mis superiores que revisen los programas escritos por mí u otros miembros del equipo o, a veces, el jefe también se sienta con nosotros para su revisión.
Creo que es una buena forma de obtener conocimiento, pero a veces, cuando los programas funcionan bien, no funcionan igual después de la revisión y necesito revisar nuevamente mi programa.
Dicen que la revisión ayuda a optimizar la ejecución de programas y consultas, pero ¿podemos preferir la optimización sobre el funcionamiento real del programa?
Respuestas:
"Trabajar bien" es, de hecho, una gran métrica, pero si usted es el único en el equipo capaz de descifrar lo que escribió y, por lo tanto, mantenerlo, el código no tiene valor para la compañía a mediano o largo plazo.
Un buen código es al menos:
(Algunos de estos requisitos se superponen, pero es bueno considerarlos individualmente ...)
Las revisiones de código cumplen el propósito más allá de la parte "funcional", que se puede realizar mediante pruebas automáticas.
Personalmente, sé que es molesto tener algo funcionando desgarrado y tener que reconstruirlo desde cero. Pero, a menudo, esto se debe a una falta de comunicación del líder senior / tecnológico. Entonces, si cree que tiene que volver a escribir con demasiada frecuencia, la próxima vez, vaya al revisor antes de escribir una sola línea e intente obtener la mayor cantidad de información posible sobre lo que está esperando, en cada detalle. También podría ser excelente si el equipo de revisores de código resume sus expectativas en un documento formal al que cada desarrollador puede referirse.
En un lado más positivo, una sesión también podría ser una ocasión para compartir buenas prácticas / diseños.
fuente
Interpreté su pregunta como "¿Se puede descifrar mi código de funcionamiento en una revisión hasta el punto en que ya ni siquiera se compila?" .
Sí puede. En general, durante una revisión, observa cómo su código hace lo que hace. Cuando quiere entregar su código, dice que ha finalizado cierta parte del programa.
Dices que funciona. Luego se realizan pruebas para verificar esto. Un módulo que pasa las pruebas no significa que ese módulo no deba tocarse nuevamente.
Un módulo que parece funcional aún puede ser un desastre a la espera de suceder, ya sea en tiempo de ejecución o en unos meses cuando usted u otra persona tiene que realizar tareas de mantenimiento. Al cambiar su código en una revisión y señalar lo que estaba mal, su revisor está (con suerte) tratando de enseñarle algo.
fuente
Las revisiones por pares son sin duda una excelente forma de aprender. Alguien puede ver algo diferente, tienen una experiencia diferente a la suya y deberían poder aportar mejoras. ¡Esto no debería ser despectivo, esperaría que cualquier desarrollador pueda comentar y criticar constructivamente el código de cualquiera!
Me parece que algunas de estas "mejoras" en realidad están haciendo cambios importantes porque (como era de esperar) el desarrollador de revisión tiene menos experiencia con el software que el autor.
Esta tendencia es su retroalimentación, ¿quizás su código sea difícil de seguir o mantener? ¿Son valiosas tus reseñas? ¡Absolutamente! Puedo ver cómo puede ser frustrante, tener un código de trabajo que sus pares parecen romper, no debe desanimarse, debe trabajar para proteger su código contra estos cambios.
La pregunta es cómo proteger la funcionalidad de sus programas para que sepa que la funcionalidad sigue funcionando después de completar sus revisiones. Mi sugerencia sería garantizar que tenga una cobertura de prueba de unidad decente. De esa manera, cada vez que usted / su revisor / su sucesor cambie el código, pueden estar seguros de que los cambios que han realizado son seguros.
ETA: Acabo de detectar uno de sus comentarios, estoy seguro de que esto es evidente, pero las revisiones de código deben hacerse antes de que el equipo de prueba lo tenga en cuenta. De lo contrario, no están probando el producto final.
fuente