Voici ma situation difficile. L'un des nombreux programmes dont j'ai récemment hérité est construit avec une horrible base de données sur le backend. Les estimés créateurs de celui-ci n'ont apparemment pas apprécié les concepts relationnels. Une table pour chaque client, nommée comme un ID client unique. Quatre-vingt-trois champs nommés de façon cryptique. Le code est entièrement procédural avec des dizaines d'instructions SQL en ligne concaténées.
Comme nous ne disposions pas d'une application auxiliaire importante qui fonctionne avec la même base de données, j'ai été chargé de la recréer à partir de zéro. Je suis un développeur unique, ce qui n'est même pas ma responsabilité principale car au moins la moitié de mon temps est occupé par des opérations. Un délai inévitable est fixé à 30 jours.
Malgré mon inexpérience, je suis certain que j'aurais pu concevoir cette base de données et l'application existante bien mieux qu'avant, mais je ne pense pas vraiment qu'il soit réaliste pour moi de modifier la base de données, d'ajuster l'application existante et de m'assurer que je ne l'ai pas fait. t casser quoi que ce soit tout en ayant besoin de créer l'application supplémentaire aussi rapidement.
Supposons donc que je suis coincé avec la terrible base de données. Ayant besoin de travailler avec une structure aussi mauvaise, est-ce que tout ce que j'écrirai qui y serait conforme ne ferait qu'ajouter au tas de dettes techniques à mettre de côté jusqu'à ce que quelque chose se casse complètement ou que de nouvelles fonctionnalités soient nécessaires? Comment pourrais-je aborder cette situation et en tirer quelque chose de bien en plus d'une application, espérons-le, fonctionnelle?
edit: Au cas où quelqu'un serait intéressé, nous avons fini par supprimer cette horrible base de données et l'application qui y tournait. Nous avons externalisé la création de l'application auxiliaire (je n'ai pas été impliqué dans la mise en place) à deux contractants différents qui ont fini par nous tomber dessus, sans rien faire. J'ai fini par devoir précipiter un horrible hack partiellement fonctionnel d'un correctif en trois jours qui est toujours utilisé aujourd'hui.