Oto moja sytuacja. Jeden z kilku programów, które niedawno odziedziczyłem, jest zbudowany ze strasznej bazy danych na backendie. Szanowani twórcy tego najwyraźniej nie docenili koncepcji relacyjnych. Tabela dla każdego klienta, nazwana jako unikalny identyfikator klienta. Osiemdziesiąt trzy pola o kryptonimie nazwanym. Cały kod jest proceduralny z dziesiątkami połączonych wbudowanych instrukcji SQL.
Ponieważ nie otrzymaliśmy ważnej aplikacji pomocniczej działającej z tej samej bazy danych, miałem za zadanie odtworzyć ją od zera. Jestem jedynym programistą, co nie jest nawet moją główną odpowiedzialnością, ponieważ co najmniej połowa mojego czasu jest zajęta operacjami. Jest nieunikniony termin wyznaczony na 30 dni od teraz.
Pomimo mojego braku doświadczenia jestem pewien, że mogłem zaprojektować tę bazę danych i istniejącą aplikację znacznie lepiej niż były, ale nie sądzę, aby realne było modyfikowanie bazy danych, dostosowywanie istniejącej aplikacji i upewnienie się, że nie zrobiłem tego ” t zepsuć wszystko, jednocześnie potrzebując tak szybko utworzyć dodatkową aplikację.
Załóżmy więc, że utknąłem w strasznej bazie danych. Czy potrzebując pracy z tak złą strukturą, czy cokolwiek, co piszę, by się z nią zgadzało, po prostu zwiększyłoby stos zadłużenia technicznego, który miał być odłożony na półkę, aż coś się całkowicie zepsuje lub potrzebna będzie nowa funkcjonalność? Jak podejść do tej sytuacji i wyciągnąć z niej coś dobrego oprócz, mam nadzieję, funkcjonalnej aplikacji?
edytuj: Na wypadek, gdyby ktoś był zainteresowany, złomowaliśmy tę okropną bazę danych i uruchomioną na niej aplikację. Zleciliśmy outsourcing tworzenia aplikacji pomocniczej (nie byłem zaangażowany w konfigurację tego) ostatecznie dwóm różnym kontrahentom, którzy oboje wpadli na nas, nic nie osiągając. Skończyło się na tym, że musiałem spieszyć się z przerażającym, częściowo funkcjonalnym hakiem poprawki w ciągu trzech dni, które są nadal w użyciu.