He pasado muchos años liderando y administrando equipos de desarrollo. Por naturaleza, soy un poco TOC en términos de código y muy blanco y negro. Gracias a la experiencia, he aprendido que elegir tus batallas es una de las habilidades más difíciles de aprender como líder de equipo. Sí, los estándares son importantes. Sí, la legibilidad y la facilidad de mantenimiento son increíblemente importantes. Sí, todos debemos esforzarnos por escribir un código uniforme que cumpla con los estándares. Sin embargo, los desarrolladores son humanos ... no herramientas de generación de código. Tenemos personalidades, opiniones, nos aburrimos y queremos aprender cosas nuevas.
En las revisiones de código en el trabajo, he estado viendo códigos y patrones que considero "inteligentes", aunque no necesariamente contribuyen a la calidad general o la facilidad de mantenimiento de la base de código.
OK ... entonces no suman, pero ¿restan? ¿Estamos hablando solo de una cuestión de preferencia personal en los estilos de codificación, o el código que se escribe es completamente innecesario (por ejemplo, usar árboles de expresión y reflexión solo porque es divertido usar árboles de expresión y reflexión)? Si es lo primero, déjalo ir. Parte de la diversión de ser desarrollador es encontrar soluciones creativas a los problemas. Tal vez (y a la mayoría de nosotros no nos gusta admitir esto), a veces nos sentimos intimidados por enfoques que no entendemos, y no queremos preguntar o no tenemos la energía adicional para aprender el nuevo enfoque.
Ahora, cuando la creatividad conduce a un código innecesario y una complejidad completamente injustificable, entonces, por supuesto, sea vocal y defienda su caso. Ser un jugador de equipo es importante, pero también lo es ser (y responsabilizar a otros). Las revisiones de código se refieren tanto a la responsabilidad como al aseguramiento de la calidad y el aprendizaje. Vas a pisar algunos dedos de los pies, pero si sientes que tienes un fuerte argumento de por qué se debe gastar esfuerzo (dinero) reescribiendo el código de trabajo Y un ego debe ser lastimado en el proceso Y quieres arriesgarte a aplastar el entusiasmo de alguien por su oficio , entonces no debes evitar ponerlo sobre la mesa. Si usted es el líder del equipo, este es su trabajo. Sé consciente del impacto y hazlo. Si no eres un líder de equipo y no tienes la autoridad, ponlo al equipo para que decida.
La mejor manera de inculcar la rendición de cuentas en su equipo es alentando a otros a responsabilizarlo. Si mantiene una mente abierta y no cierra a las personas cuando sugieren mejoras en su código, puede encontrar que son más receptivas a sus sugerencias.