Mijn werkgever heeft een erg complex stuk software uit 2003, welke ik moet gaan onderhouden. Al snel was het duidelijk: de software was onnodig complex en gebouwd bovenop buzz-words: een factory bleek het builder-pattern te implementeren en een willekeurige bean was uitgegroeid tot een enorme factory, etc.
Verder zaten er zoveel abstractie lagen in, dat je echt de weg kwijt raakt (tussen de aanroep en de eerste echte functies zitten 5 a 7 classes die niets doen, behalve logica ondermijnen).
Een DAO-laag ontbreekt, die kan prima in de verschillende files ingebouwd worden (lekker bij elkaar). De dependency is een nachtmerrie; updaten naar nieuwe versies van externe libraries is niet mogelijk zonder elke source-file aan te passen. Het mooiste is dat het werkt, behalve dat niemand meer weet hoe het werkt; ook de opdrachtgever niet. Een uitdaging.
Vandaag vroeg ik mijn manager dus maar: "Vraag je me nu super-monteur van een Lada te worden?". Na een korte discussie, kwam het er uit: ja. Ik moet me niet laten verleiden om de code te repareren, want stel je voor dat je het kapot maakt... Het feit blijft dat er fouten in het model zitten, die nu onontdekt zullen blijven. Ik wil dus heel graag stukje voor stukje de software updaten naar een moderner stuk software (IoC enzo), minder code, duidelijke scheiding tussen model, data en context.
Dus in het kort het probleem: de code doet wat ie moet doen, maar de controle en de onderhoudbaarheid zijn erg laag. Ik schaal de kwaliteit in op "laag twijfelachtig" (= kan nog wel een jaartje mee)
Wat zouden jullie doen? Hard maken voor verandering, of gewoon de pap nathouden?
Verder zaten er zoveel abstractie lagen in, dat je echt de weg kwijt raakt (tussen de aanroep en de eerste echte functies zitten 5 a 7 classes die niets doen, behalve logica ondermijnen).
Een DAO-laag ontbreekt, die kan prima in de verschillende files ingebouwd worden (lekker bij elkaar). De dependency is een nachtmerrie; updaten naar nieuwe versies van externe libraries is niet mogelijk zonder elke source-file aan te passen. Het mooiste is dat het werkt, behalve dat niemand meer weet hoe het werkt; ook de opdrachtgever niet. Een uitdaging.
Vandaag vroeg ik mijn manager dus maar: "Vraag je me nu super-monteur van een Lada te worden?". Na een korte discussie, kwam het er uit: ja. Ik moet me niet laten verleiden om de code te repareren, want stel je voor dat je het kapot maakt... Het feit blijft dat er fouten in het model zitten, die nu onontdekt zullen blijven. Ik wil dus heel graag stukje voor stukje de software updaten naar een moderner stuk software (IoC enzo), minder code, duidelijke scheiding tussen model, data en context.
Dus in het kort het probleem: de code doet wat ie moet doen, maar de controle en de onderhoudbaarheid zijn erg laag. Ik schaal de kwaliteit in op "laag twijfelachtig" (= kan nog wel een jaartje mee)
Wat zouden jullie doen? Hard maken voor verandering, of gewoon de pap nathouden?