Computerworld News Service: Domæne-specifikke sprog (domain specific languages, DSL'er), kontinuerlig integration og event sourcing blev fredag understreget som oversete nøglehjælpemidler for softwareudviklere af en af de prominente personer i området for agil udvikling.
Disse koncepter hyldes af Martin Fowler, der er chefforsker hos ThoughtWorks, i en præsentation med titlen "Software Design in the 21st Century" ved softwareudviklings-konferencen QCon i San Francisco. Fowler var med til at skrive Manifesto for Agile Software Development for næsten 10 år siden.
Fowler fremhæver produktivitetsfordelene ved domæne-specifikke sprog. Som eksempler på DSL'er kan nævnes Microsoft LINQ (Language Integrated Query), Hibernate og CSS (Cascading Style Sheets).
"Et velvalgt domæne-specifikt sprog kan virkelig indsnævre, hvordan ting opfører sig, og gøre dig langt bedre i stand til at udtrykke din hensigt, hvilket er den første og meget væsentlige fordel ved et domæne-specifikt sprog," siger Fowler.
Han påpeger, at derudover gør DSL'er det muligt at udtrykke programmerings-aktiviteter på en måde, så det er forståeligt for ikke-programmører.
Med kontinuerlig integration samkører medlemmer af et softwareudviklings-team deres arbejde jævnligt. Udviklere, der anvender kontinuerlig integration, afholdes ikke fra at omstrukturere for at holde koden ren, siger Fowler.
Undervurderet teknik
Herudover gør konceptet om kontinuerlig levering udviklerne i stand til at få softwaren klar så hurtigt som muligt, påpeger han.
Event sourcing handler om at lagre information om systemændringer som et hændelsesobjekt. Der vedligeholdes en optegnelse over ændringer.
"Dette er en arkitekturmæssig teknik, et arkitekturmæssigt mønster, som jeg er løbet ind i en hel del gange i årenes løb, og det er igen en af de ting, der ikke bruges nær så meget, som jeg mener, den burde," siger han.
Fowler har også skrevet om fordelene ved event sourcing på sit website. Her beskrives det, at event sourcing sørger for, at ændringer i en applikations tilstand lagres som en sekvens af hændelser.
Hændelser kan efterfølgende hentes frem igen og optegnelsen over hændelser kan bruges til at rekonstruere tidligere tilstande og som grundlag i en justering af tilstanden for at håndtere tilbagevirkende ændringer.
Oversat af Thomas Bøndergaard