Hej!
Den här veckan tänkte jag berätta hur vi i teamet för utveckling arbetar och beskriva de olika verktyg som finns till hjälp för att kunna upprätthålla en god kodkvalité.
När ett team av utvecklare skriver kod i ett gemensamt projekt krävs det god kommunikation och samarbete.
- Vem gör vad?
- Till vilken fil skall kod skrivas?
- Hur organiserar vi mappstrukturer?
- Vilka externa beroenden kommer projektet att ha?
- Hur ska koden formateras så att den blir läsbar för alla?
… är bara ett urval av de frågor som behöver synkas för alla inblandade.
Som tur är, finns det olika automatiserade system som kan hjälpa till med all denna hantering. Versionshantering är något som är vitalt vid utvecklingsprojekt med flera inblandade. Det överlägset mest populära verktyg för versionshantering idag är Git. Verktyget använder vi dagligen och är det som jag tänkte berätta mer om.
Har du någonsin öppnat ett dokument tex ”CV_2020.doc”, börjat redigera, för att sedan ”spara som…” och döpa den nya versionen till ”CV_2021.doc”? Till slut finner man sig själv med en mapp full av filer med olika namn, som till största del egentligen består av samma innehåll. Det här är kanske inte superproblematiskt på ett personligt plan utan kan snarare ge upphov till friktion och störningsmoment i vardagen. I ett team där flera personer läser och skriver till samma filer blir det såklart ohållbart att hålla reda på vilken fil som egentligen är aktuell eller inte.
Fördelen med att använda versionshanterare är att man kan använda en fil (tex ”CV.doc”) och låta alla skriva och göra ändringar i samma fil. En versionshistorik för filen kommer att skapas automatiskt där all tidigare överskriven data finns lagrad. Alla nya ändringar i filen registreras och sparas med namn och datum för på så sätt skapa en spårbarhet. Skulle två personer redigera samma dokument samtidigt notifieras man om potentiella konflikter som kan uppstå vid ändringar på samma rad. Ytterligare en kraftfull fördel är att sömlöst kunna hoppa fram och tillbaka i historiken av filen i det fall en ändring skulle innebära krasch & boom för övrig kod som förlitar sig på den aktuella filen.
Det här är bara en delvis beskrivning av den automation som sker vid redigering av en fil.
Automatiska tester, scripts och formatering, för att ge exempel på några, är andra processer som sker samtidigt. Det sparar vi till någon annan gång.
Ha det bra till dess!