He pasado muchos años liderando y administrando equipos de desarrollo. Por naturaleza, soy un poco OCD en términos de código y muy en blanco y negro. Aprendí por experiencia que escoger tus batallas es una de las habilidades más difíciles de aprender como líder de un equipo. Sí, las normas son importantes. Sí, la legibilidad y la capacidad 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 son 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 code & Los patrones que considero "inteligentes" aunque no necesariamente aumentan la calidad general o la capacidad de mantenimiento del código base.
Está bien ... para que no agreguen, ¿pero restan valor? ¿Estamos hablando solo de una cuestión de preferencia personal en los estilos de codificación, o el código se escribe 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 un desarrollador es encontrar soluciones creativas para los problemas. Tal vez (y a la mayoría de nosotros no nos gusta admitirlo), a veces nos sentimos intimidados por los enfoques que no entendemos, y o bien no queremos preguntar o no tenemos la energía adicional para aprender el nuevo enfoque.
Ahora, cuando la creatividad lleva a un código innecesario y una complejidad completamente injustificable, entonces, por todos los medios, sea vocal y defienda su caso. Ser un jugador de equipo es importante, pero también lo es ser responsable (y responsabilizar a los demás). Las revisiones de código se refieren tanto a la responsabilidad como a la garantía de calidad y el aprendizaje. Vas a pisar algunos dedos de los pies, pero si sientes que tienes un fuerte argumento de por qué el esfuerzo (dinero) se debe gastar en volver a escribir el código de trabajo Y un ego debe estar magullado en el proceso Y quieres arriesgarte a aplastar el entusiasmo de alguien por su oficio , entonces no debes evitar ponerlo en la mesa. Si eres el líder del equipo, este es tu trabajo. Sé consciente del impacto, y hazlo. Si no eres un líder de equipo y no tienes la autoridad, ponlo en el equipo para que decida.
La mejor manera de inculcar la responsabilidad en su equipo es alentar a otros a que lo hagan responsable. Si mantiene la mente abierta y no cierra a las personas cuando sugieren mejoras en su código, es posible que se muestren más receptivas a sus sugerencias.