Non molto tempo fa la mia azienda mi ha messo in una squadra che si occupa di alcuni dei bachi più complessi che sono in produzione. Il fatto è che quasi tutti questi bug sono in applicazioni legacy. Sto avendo un momento molto difficile di comprensione e debug, e questi sono alcuni dei motivi:
-
Progettazione software errata
-
Un sacco di duplicazione del codice
-
Commenti fuorvianti
-
Nomi errati
-
Nessuna documentazione
-
I creatori del software non lavorano più nella compagnia
-
Classi e metodi veramente grandi, molto mal programmati
-
I bug sono molto mal documentati e il team delle operazioni crea rapporti scarsamente documentati sui problemi che si verificano.
È molto dispendioso in termini di tempo e frustrante. Come sviluppatore TDD e ATDD, provo iniziando a scrivere test per triangolare e individuare il problema, ma ci sono così tante cose che devono essere prese in giro che è molto difficile. Inoltre, gli analisti aziendali non forniscono criteri per questo software in quanto non lo conoscono nemmeno loro stessi. L'unica cosa che dicono è che deve essere risolto.
Ho pensato che forse qui avrei potuto trovare qualcuno con esperienza nel software legacy che potesse darmi qualche consiglio su come gestire i bug in un ambiente come questo. Sento che sto facendo archeologia del software quando lavoro con questo. Inoltre è molto stressante e questa grande quantità di frustrazione mi fa sentire inutile e improduttivo poiché ci vogliono settimane a volte per correggere i bug. Ho sempre lavorato sullo sviluppo di campi verdi e questa è la prima volta che faccio supporto alla produzione. Gradirei davvero qualche consiglio.