En mi trabajo actual, somos bastante estrictos con respecto a la calidad del código y los estándares de codificación. Todas las nuevas contrataciones pasan por un período de "lavado de cerebro" en el que los desarrolladores senior los instruyen para escribir (con suerte) un mejor código.Reducción de los estándares de codificación 'duración del lavado de cerebro' y esfuerzo de las nuevas contrataciones
El proceso de revisión del código es meticuloso y normalmente reduce a la mitad la productividad de los desarrolladores que realizan la revisión. Y a veces el período de "lavado de cerebro" se prolonga durante 2 o 3 meses. A veces, las correcciones son sutiles (por ejemplo, estructurar una instrucción IF de manera que cortocircuite lo más temprano posible) y, a veces, no puedes evitar levantar una ceja (por ejemplo, declarar una cuerda y configurarla en String.Empty y en la siguiente línea) asignarle otro valor).
Estoy buscando sugerencias para reducir el tiempo y el esfuerzo para obtener nuevas contrataciones asimiladas a los estándares de codificación del equipo.
¿Qué están haciendo otros en circunstancias similares? ¿Qué procesos o herramientas utilizan ustedes? Hay alguna manera de automatizar esto? He considerado FxCop pero en realidad no lo he probado y no sé si realmente ayudaría a reducir el tiempo y el esfuerzo o si es la herramienta adecuada. Por razones logísticas, no podemos hacer programación de pares si eso fue una sugerencia. Y dudaría sobre eso, reduciendo el esfuerzo.
Hemos intentado mantener una wiki interna de 'correcciones', pero eso está fallando tristemente. La falta de cumplimiento y también porque es más fácil "hacer que alguien corrija sus errores" en lugar de "leer y tratar de evitar los errores".
Además, ¿cómo están ustedes metiéndolo en nuevas contrataciones que la calidad del código es importante? ¿Y ustedes eliminan a los que son lacónicos hacia la calidad en la entrevista o intentan cambiarlos después de que son contratados?
Muchas gracias.
EDIT: Gracias por todas las respuestas. No estoy seguro de si hay una respuesta correcta para esta pregunta, pero voy a marcar como correcta la que definitivamente voy a probar.
Esta pregunta parece estar fuera del tema porque no está dentro de los límites de discusión como se describe en el Centro de ayuda. – Will