Ecco la mia situazione. Uno dei numerosi programmi che ho ereditato di recente è costruito con un database orribile nel back-end. A quanto pare, i suoi stimati creatori non apprezzavano i concetti relazionali. Una tabella per ogni singolo cliente, indicata come ID cliente univoco. Ottantatré campi con nomi criptici. Il codice è tutto procedurale con dozzine di istruzioni SQL inline concatenate.
Dato che non ci è stata fornita un'importante applicazione ausiliaria che esegue lo stesso database, sono stato incaricato di ricreare tutto da zero. Sono un unico sviluppatore, che non è nemmeno la mia responsabilità principale in quanto almeno la metà del mio tempo è occupata da operazioni. È previsto un termine di scadenza inevitabile tra 30 giorni.
Nonostante la mia inesperienza, sono certo che avrei potuto progettare questo database e l'applicazione esistente molto meglio di loro, ma non penso davvero che sia realistico per me modificare il database, regolare l'applicazione esistente ed essere sicuro Non ho infranto nulla pur avendo bisogno di creare rapidamente l'applicazione aggiuntiva.
Quindi supponiamo di essere bloccato con il terribile database. Avendo bisogno di lavorare con una struttura così cattiva, tutto ciò che scrivo è conforme al cumulo di debito tecnico che deve essere accantonato fino a quando qualcosa non si rompe completamente o sono necessarie nuove funzionalità? Come potrei approcciare a questa situazione e ricavarne qualcosa di buono oltre a un'applicazione sperabilmente funzionale?
modifica: nel caso in cui qualcuno fosse interessato, abbiamo finito con lo smantellare questo orribile database e l'applicazione che si stava verificando. Abbiamo esternalizzato la creazione della domanda ausiliaria (non ero coinvolto nella creazione di questo) in definitiva a due diversi appaltatori che hanno finito per cadere su di noi, senza realizzare nulla. Ho finito per scappare da un attacco orribile, parzialmente funzionale, di una correzione in tre giorni che è ancora in uso oggi.