Ecco la mia situazione. Uno dei numerosi programmi che ho ereditato di recente è stato creato con un orribile database sul backend. Apparentemente i stimati creatori non apprezzarono i concetti relazionali. Una tabella per ogni client, denominata come ID client univoco. Ottantatre campi con nome criptico. Il codice è tutto procedurale con dozzine di istruzioni SQL in linea concatenate.
Dato che non ci è stata fornita un'importante applicazione ausiliaria che viene eseguita dallo stesso database, mi è stato assegnato il compito di ricrearlo da zero. Sono un solo sviluppatore, che non è nemmeno la mia principale responsabilità in quanto almeno la metà del mio tempo è occupata da operazioni. C'è una scadenza inevitabile fissata tra 30 giorni.
Nonostante la mia inesperienza, sono certo che avrei potuto progettare questo database e l'applicazione esistente molto meglio di quanto non fossero, ma non credo davvero che sia realistico per me modificare il database, regolare l'applicazione esistente ed essere sicuro di non averlo fatto Non interrompere nulla mentre è necessario creare l'applicazione aggiuntiva così rapidamente.
Quindi supponiamo che io sia bloccato con il terribile database. Avendo bisogno di lavorare con una struttura così cattiva, qualsiasi cosa che scrivo conforme ad essa aggiungerebbe semplicemente al mucchio di debiti tecnici da accantonare fino a quando qualcosa non si rompe completamente o sono necessarie nuove funzionalità? Come potrei affrontare questa situazione e ricavarne qualcosa di buono oltre a un'applicazione, si spera, funzionale?
modifica: Nel caso qualcuno fosse interessato, abbiamo finito per eliminare questo orribile database e l'applicazione che lo eseguiva. Abbiamo esternalizzato la creazione dell'applicazione ausiliaria (non ero coinvolto nella creazione di questo) alla fine due diversi appaltatori che entrambi hanno finito per cadere su di noi, senza realizzare nulla. Ho finito per correre fuori da tre giorni un trucco orribile e parzialmente funzionale di una correzione che è ancora in uso oggi.