¿Vale la pena el tiempo dedicado a refactorizar una base de código a largo plazo, en términos de productividad del desarrollador?
Me parece bastante claro que modificar un sistema limpio y bien diseñado es mucho más simple y rápido que trabajar en uno mal diseñado, pero busco alguna evidencia sólida. ¿Hay algún estudio sobre este tema?
productivity
complexity
Benny Hallett
fuente
fuente
Respuestas:
Empíricamente, el software con métricas de mayor complejidad, como la complejidad ciclomática, es más difícil de mantener. Hay investigaciones que respaldan esto desde la década de 1970 ("Complejidad del programa y productividad del programador", ET Chen) . También hay trabajo que sugiere que la densidad de complejidad, que es la complejidad ciclomática sobre el tamaño del sistema, también se relaciona con el tiempo de mantenimiento ("densidad de complejidad ciclomática y productividad de mantenimiento del software", GK Gill, CF Kemerer) , que también está disponible de forma gratuita aquí . Desafortunadamente, una suscripción a IEEE es necesaria para el trabajo de Chen, pero puede intentar buscarla en otras fuentes si está interesado.
Desde una perspectiva de calidad, a menudo vale la pena pasar algún tiempo refactorizando, suponiendo que tenga un marco de prueba para evitar la introducción de nuevos defectos. Esto le permitirá implementar más fácilmente nuevas funciones en su sistema, agregar pruebas adicionales y capacitar a nuevos desarrolladores para que trabajen.
Sin embargo, en última instancia, existe la presión de ofrecer una nueva funcionalidad y un valor agregado. Debe equilibrar la refactorización con la implementación de nuevas funciones y la reparación de defectos.
fuente
Entonces deja de perder tu tiempo aquí.
Encuentra un código que sea caro de mantener. Es fácil. Mire los tickets de problemas de su organización.
Encuentre un código que sea barato de mantener. Encuentre el código que se ejecuta con frecuencia, pero tiene pocos o ningún ticket de problema.
Mida la complejidad con cualquiera de las herramientas de complejidad ampliamente disponibles.
Disfruta de la evidencia.
Ahora ha proporcionado números para confirmar lo obvio.
fuente