Estoy trabajando en una startup de robótica en un equipo de cobertura de ruta y después de enviar una solicitud de extracción, mi código se revisa.
Mi compañero de equipo, que ha estado en el equipo durante más de un año, ha hecho algunos comentarios a mi código que sugieren que trabajo mucho más de lo que creo que es necesario. No, no soy un desarrollador perezoso. Me encanta el código elegante que tiene buenos comentarios, nombres de variables, sangría y maneja los casos correctamente. Sin embargo, tiene un tipo diferente de organización en mente con el que no estoy de acuerdo.
Proporcionaré un ejemplo:
Había pasado un día escribiendo casos de prueba para un cambio en un algoritmo de búsqueda de transición que hice. Me sugirió que manejara un caso oscuro que es extremadamente improbable que suceda; de hecho, no estoy seguro de que sea posible que ocurra. El código que hice ya funciona en todos nuestros casos de prueba originales y en algunos nuevos que encontré. El código que hice ya pasa nuestras más de 300 simulaciones que se ejecutan todas las noches. Sin embargo, manejar este oscuro caso me llevaría 13 horas que podrían gastarse mejor intentando mejorar el rendimiento del robot. Para ser claros, el algoritmo anterior que habíamos estado usando hasta ahora tampoco manejó este oscuro caso y ni una sola vez, en los 40k informes que se han generado, ha ocurrido alguna vez. Somos una startup y necesitamos desarrollar el producto.
Nunca he tenido una revisión de código antes y no estoy seguro si estoy siendo demasiado discutidor; ¿Debería estar callado y hacer lo que él dice? Decidí mantener la cabeza baja y simplemente hacer el cambio, aunque no estoy de acuerdo en que fue un buen uso del tiempo.
Respeto a mi compañero de trabajo y lo reconozco como un programador inteligente. Simplemente no estoy de acuerdo con él en un punto y no sé cómo manejar el desacuerdo en una revisión de código.
Siento que la respuesta que elegí cumple con este criterio de explicar cómo un desarrollador junior puede manejar el desacuerdo en una revisión de código.