Capítulo 7. Adopción práctica de la verificación tipográfica
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Muchos desarrolladores sueñan con los días en que por fin trabajarán en un proyecto completamente green-field. Un proyecto green-field es uno completamente nuevo, en el que tienes una pizarra en blanco con la arquitectura, el diseño y la modularidad de tu código. Sin embargo, la mayoría de los proyectos pronto se convierten en "brown-field", o código heredado. Estos proyectos ya han dado algunas vueltas; gran parte de la arquitectura y el diseño se han solidificado. Hacer cambios grandes y radicales afectará a los usuarios reales. El término "brown-field" suele considerarse despectivo, sobre todo cuando parece que te estás arrastrando por una gran bola de barro.
Sin embargo, no todos los proyectos brown-field son un castigo para trabajar en ellos. Michael Feathers, autor de Working Effectively With Legacy Code (Pearson), dice lo siguiente:
En un sistema bien mantenido, puede llevar un tiempo averiguar cómo hacer un cambio, pero una vez que lo haces, el cambio suele ser fácil y te sientes mucho más cómodo con el sistema. En un sistema heredado, puede llevar mucho tiempo averiguar qué hacer, y el cambio también es difícil.1
Feathers define el código heredado como "código sin pruebas". Yo prefiero una definición alternativa: el código heredado es simplemente código sobre el que ya no puedes hablar con los ...