Etikettarkiv: bra kod

Varför ska man arbeta testdrivet – varför ska man använda TDD och BDD?

Varför man ska arbeta testdrivet?.. Jo Därför!.

Okej, jag kan väl komma på några motiverande punkter om du behöver hjälp att övertala någon annan. 😉

Pengarna – Ju tidigare ett felaktigt eller missat krav upptäcks desto billigare blir det att åtgärda.

Ofta när jag arbetar testdrivet hittar jag luckor i testerna (kraven) som då kan bollas tillbaks till beställaren.
Utan dessa tester passerar många av luckorna i kraven, för det finns nästan alltid luckor i kraven, till manuell testning (utförd av en utvecklare eller testare) och ibland även vidare till beställarens acceptanstester och i värsta fall ända ut till produktion.
Missade och feltolkade krav är defekter och orsakar en onödig kostnad som kan bli galet hög i form av försenade leveranser, förlorade marknadsandelar, bristande förtroende till varumärken och inblandade parter o.s.v..

Kontraktet och bonuseffekterna.

Genom att arbeta behovs- och testdrivet får vi skriftliga krav direkt i koden på hur systemet ska fungera. Dessa krav bör godkännas av beställaren innan man går vidare till utveckling och blir då ett kontrakt som visar svart på vitt vad utvecklingsteamet behöver göra för att jobbet ska kunna godkännas.  Fortsätt läsa Varför ska man arbeta testdrivet – varför ska man använda TDD och BDD?

clean requirements and clean code

Vad är bra kod?

Det finns många saker som inverkar på om koden är bra och svaret är så klart olika beroende på vem man pratar med och i vilken kontext, men några grundläggande drag hos bra kod enligt mig är följande.

Bra kod gör det den ska, är enkel att läsa, följa och förstå.

Gör det den ska (och ingenting annat)

Det absolut viktigaste är att koden faktiskt utför det arbete den ska så att resultatet vi får när vi använder systemet blir det förväntade.

Är enkel att läsa, följa och förstå.

Att koden är lätt att sätta sig in i och förstå, både för nya och erfarna utvecklare, är oerhört viktigt för systemets förvaltningskostnader, d.v.s. underhåll och fortsatt utveckling av systemet.

Just förvaltningskostnaden av ett system som ska leva flera år är ofta en stor del av den totala ägandekostnaden* för systemets livscykel. Och förutom att förvaltningen underlättas och blir billigare när koden är bra blir det mycket roligare att arbeta i systemet och därmed också lättare att rekrytera nya utvecklare till förvaltning och vidareutveckling :)

* TCO – Total cost of ownership, LCC – Life cycle cost

</BraKod>
clean requirements and clean code