Me acabo de unir a un equipo de desarrollo (relativamente) pequeño que ha estado trabajando en un proyecto durante varios meses, si no un año. Como con la mayoría de los desarrolladores que se unen a un proyecto, pasé mis primeros días revisando la base de código del proyecto.
El proyecto (una aplicación de línea de negocio interna ASP.NET WebForms de tamaño mediano a grande) es, por falta de un término más descriptivo, un desastre. Hay tres problemas inmediatamente notables con los estándares de codificación:
- El estándar es muy flojo. Describe más de lo que no debe hacer (no use la notación húngara, etc.) que lo que debe hacer.
- El estándar no siempre se sigue. Hay inconsistencias con el formato del código en todas partes .
- El estándar no sigue las pautas de estilo de Microsoft. En mi opinión, no tiene ningún valor desviarse de las pautas establecidas por el desarrollador del marco y el mayor contribuyente a la especificación del lenguaje.
En cuanto al punto 3, tal vez me molesta más porque me he tomado el tiempo para obtener mi MCPD con un enfoque en aplicaciones web (específicamente, ASP.NET). También soy el único profesional certificado de Microsoft en el equipo. Debido a lo que aprendí en toda mi educación escolar, autodidacta y aprendizaje en el trabajo (incluida mi preparación para los exámenes de certificación), también vi varias instancias en el código del proyecto donde las cosas simplemente no se hacen en el mejor manera.
Solo he estado en este equipo durante una semana, pero veo tantos problemas con su base de código que imagino que pasaré más tiempo luchando con lo que ya está escrito para hacer las cosas "a su manera" de lo que lo haría si estuviera trabajando en un proyecto que, por ejemplo, siguió estándares de codificación, patrones de arquitectura y mejores prácticas más ampliamente aceptados. Esto me lleva a mi pregunta:
¿Debo (y si es así, cómo) proponerle a mi jefe de proyecto y líder de equipo que el proyecto necesita una renovación importante?
No quiero entrar a su oficina, agitando mis certificados MCTS y MCPD, diciendo que la base de código de su proyecto es una mierda. Pero tampoco quiero tener que permanecer en silencio y escribir código kludgey encima de su código kludgey, porque realmente quiero escribir software de calidad y quiero que el producto final sea estable y fácil de mantener.