Honestamente, se siente como un conserje tratando de limpiar la mierda de otra persona.
Siendo un desarrollador senior, me enfrento a esto a menudo. Los códigos de producción heredados se entregan para futuras mejoras en un lapso de tiempo relativamente corto.
Recientemente recibí un antiguo script de shell Korn heredado y tuve que hacerlo compatible con EU GDPR (Página de inicio de EU GDPR).
- ¿Qué es una plataforma de software?
- ¿Es la interfaz un patrón de diseño o una característica orientada a objetos?
- ¿Hay algún sitio web donde pueda obtener entrevistas de software reales con empresas tecnológicas mediante la resolución de problemas de codificación?
- ¿Cuál es la diferencia entre refactorizar, rediseñar, rediseñar y reescribir?
- ¿Cuáles son las habilidades esenciales para un ingeniero de automatización de pruebas de software?
Para empeorar las cosas, recientemente habíamos migrado a una nueva base de datos y Linux compatibles con la nube, mientras que el antiguo entorno, en el que se desarrolló originalmente el código, fue desmantelado.
Tuvimos que construir todo el entorno desde cero en el cuadro DEV, para poder ejecutar el código heredado.
Luego insertamos el registro de auditoría en el código tomando cualquier pista que pudiéramos obtener de los comentarios del código, ya que las documentaciones se hicieron “en la cabeza” de los primeros desarrolladores, que habían dejado la compañía hace unos años.
Otro desafío fue conocer los parámetros para ejecutar el código en primer lugar. Eso se resolvió consultando al equipo de producción.
Una vez que pudimos rastrear el comportamiento del funcionamiento interno del código, comenzamos a ensuciarnos las manos para las mejoras, es decir, el cumplimiento del RGPD de la UE.
En producción creamos un entorno paralelo similar a la ruta de producción original.
Ejecutamos el código modificado en este nuevo entorno de producción en paralelo a la producción anterior (fase CAT). Contactamos a pocos clientes como nuestros usuarios beta y les dijimos que marcaran los problemas que enfrentan.
Poco a poco, los problemas se resolvieron y una vez que los usuarios beta se mostraron felices de cerrar la fase CAT, lo cambiamos a producción principal con un esfuerzo mínimo (solo unos pocos cambios en los archivos de configuración y rutas de archivos, manteniendo los scripts antiguos en una carpeta de respaldo).
El resultado final fue que hicimos un gran cambio estratégico en el canal de campaña de marketing para una de las compañías de telecomunicaciones globales Fortune 500 en el mundo.
También creamos una guía de implementación y ejecución mínima y la subimos al punto de intercambio de la intranet de las empresas, para futuros equipos que realicen una mejora adicional de este código.
También creamos un tablero usando el marco de Java para que nuestro cliente pueda auditar el canal en tiempo real.
Espero que este enfoque te ayude también.