onsdag 7 januari 2009
CS logotype

Fokussajter

Läs mer om

Tjänster

Tidningen

För annonsörer

Kontakta oss

Computer Sweden är Sveriges ledande it- tidning som publicerar nyheter varje dag på webben samt tre gånger i veckan på papper.
............................................

Ring till 08-453 60 00.

Skicka gärna e-post till: cs@idg.se

Postadressen är:
Computer Sweden
106 78 Stockholm
............................................

- Computer Sweden:

Kod av människor för människor

Tobias Fjälling är konsult på Dotway. Mejla dina frågor
till utvecklaren@idg.se. Tidigare frågor finns på computersweden.se/utvecklarfragan
Tobias Fjälling är konsult på Dotway. Mejla dina frågor till utvecklaren@idg.se. Tidigare frågor finns på computersweden.se/utvecklarfragan

SVAR: Refactoringarbete utgör en naturlig del av en programmerares vardagsuppgifter. Till skillnad från Mozart som sades skriva ner sina musikaliska alster direkt på notpappret utan efterbearbetning så måste de flesta människor revidera sitt arbete innan perfektion uppstår.

Begreppet perfektion är diskuterbart, definitivt inom mjuk­varu­utveckling.

Ofta finns många vägar mot målet och flera av dem är tillräckligt bra.

Däremot finns det tyvärr bra och dålig design.

Dålig design får alltid den svåra konsekvensen att koden degenererar och inte blir underhållbar vilket är enormt frustrerande för utvecklare som tar över sådan legacy-kod.

Dålig design föder dessutom ofta fler buggar än de som rättas på grund av dålig förståelse för koden. Den yttersta konsekvensen är i många fall tyvärr en total omskrivning. Mycket kostsamt för företagen.

Så vad kan man göra åt saken?

Svaret heter refactoring i ständigt iterativa cykler och med automatiserade tester som skyddsnät. Ta för vana att betrakta din skrivna kod som om det var första gången du såg den och skriv om så att den är lätt att läsa och förstå även för andra. Detta låter som stor mertid, men med moderna utvecklingsmiljöer kan detta göras extremt snabbt. Betänk att 90 procent av programmerarens tid sägs gå åt till att läsa redan skriven kod.

Jag vill understryka tre bra grundläggande refactoringtips:

1: Försök att få till ett löst kopplat system, så kallad Low coupling. Detta kan exempelvis åstadkommas med hjälp av Dependency injection där beroendet helt enkelt skjuts in i klassen av de nyttjande klasserna.

2: Försök att få till klara ansvarsåtaganden i dina klasser, så kallad High cohesion. Det är svårt att förstå och underhålla kod som försöker göra allt på en gång. Bryt ut dessa ansvarsområden till dedikerade klasser i stället, vilket ökar tydligheten i din kod.

3: Låt inte dina metoder bli för stora. Tillämpa refactoringmönstret Extract to method. Den underliggande principen brukar jag kalla för söndra och härska. Komplexa problem löses genom att vi delar in dem i enklare delproblem vilket också ökar läsbarheten.

Det finns mycket kunskap att läsa sig till om bra designmönster och principer kring dem.
 
Men det största steget nås genom ditt eget sunda förnuft och med insikt om att kod också skrivs för att läsas av människor och inte enbart av kompilatorn.

Krönikan

Outsourcing byter skepnad

CS dreglar över...

Mest läst just nu

Under snedstrecket

Nyheter


Den här artikeln har 0 kommentarer:

OBS! Denna artikel är mer än tio dygn gammal och är därför stängd för vidare debatt.

Hett på CS just nu

- Computer Sweden:

Skriptspråken blev
allvar under 2008

- Computer Sweden:

Microsoft satsar
på Macprogram

(2 kommentarer)


- Computer Sweden:

HP först ut med
AMDs strömsnåla

(3 kommentarer)


- Computer Sweden:

Logitech drar åt
svångremmen

(1 kommentar)


- Computer Sweden:

Sju millimeter tjock platt-tv

(10 kommentarer)


- Computer Sweden:

Rebtel hoppas på Iphone

(11 kommentarer)

- Computer Sweden:

Rebtel hoppas på Iphone

(11 kommentarer)


- Computer Sweden:

Göteborg får egen
utvecklarkonferens


- Computer Sweden:

Informationsstressen
drabbar mobilfolket

(10 kommentarer)


- Computer Sweden:

Kina försöker
tukta Google

(11 kommentarer)


- Computer Sweden:

Expert: Microsoft
tjänade stort på bluff

(2 kommentarer)


- Computer Sweden:

Britter vill privatisera
internetavlyssning

(15 kommentarer)


Affärsfokus

- Computer Sweden:

Strid på webben
om lokala nyheter

Folk

- Computer Sweden:

Han gör data synliga

(1 kommentar)


Dagens krönikor

- Computer Sweden:

Gör en tavla med ditt dna


- Computer Sweden:

Outsourcing byter skepnad


Opinion

- Computer Sweden:

It måste vara interaktiv


- Computer Sweden:

It-branschen, hjälp företag


- Computer Sweden:

Vi förväntar oss sänkta priser

(1 kommentar)


Mest läst just nu

Under snedstrecket

Missa inte

CS dreglar över ...

Glöm inte

Nominera till Guldmusen

Krönikan

Outsourcing byter skepnad

Vill du testa vår sajt?

Vimmel | Mer vimmel

Kunder, partner och leverantörer firade Caperios nya kontor på Blue Moon Bar i Uppsala.
Kunder, partner och leverantörer firade Caperios nya kontor på Blue Moon Bar i Uppsala. Se bildspel

CS teknikblogg

Dagens ord

"Gizmondo"

Opinion

Vi förväntar oss sänkta priser

Allt samlat

K Sören Pecén

Experterna svarar

Fyll på vår wiki

Tyck till om CS säkerhetsexperter

Storageworld

Expertbloggarna





Anders Liling bloggar om affärsmässig öppen källkod.

It i vården-bloggar

Nytt nyhetsbrev

Språksamt

Populärt på CS Karriär

RSS och nyhetsbrev

Fler nyheter

CS kompendium

CS kompendium om datasäkerhet

Partnerzon

Verksamhetskritiska system

Hetaste white papers just nu

Mest besökta platsannonserna

Utbildningsguide

Utbildningsguiden

Nytt från PDF-shopen

Lönebarometern

Diagram

CS läsarpanel

Hjälp oss! Få en prenumeration!

Senaste nytt från IT24.se

Börsen idag

Senaste tidningen

CS Hemma