teori
Refaktorisering och återanvändbar kod
Vad är refaktorisering?
Refaktorisering betyder att man förbättrar strukturen på sin kod – utan att ändra vad programmet gör.
Det handlar om att:
- Göra koden lättare att läsa
- Göra den enklare att underhålla och bygga vidare på
- Minska risken för fel
Exempel på när man refaktorerar
Före – kod med dåliga namn, upprepning och dålig struktur:
x = 10
y = 15
z = x * y
print("Area:", z)Efter – bättre namn och funktion:
def beräkna_area(bredd, höjd):
return bredd * höjd
area = beräkna_area(10, 15)
print("Area:", area)Koden gör samma sak, men är nu:
- Mer tydlig
- Lätt att återanvända
- Möjlig att testa separat
Vad kan man refaktorisera?
| Problem | Bättre lösning |
|---|---|
| För långa funktioner | Dela upp i mindre funktioner |
| Upprepade kodrader | Flytta till en gemensam funktion |
| Dåliga namn | Använd tydliga och beskrivande namn |
För mycket kod i main | Flytta till funktioner eller klasser |
| Liknande objektstrukturer | Använd klasser med arv eller sammansättning |
Vad är återanvändbar kod?
Det är kod som är:
Modulär – delas upp i funktioner och klasser
Allmängiltig – gör inte något som bara funkar i ett enda specialfall
Väl namngiven – så andra (eller du själv) förstår vad den gör
Lätt att testa – varje del går att prova för sig
Exempel: Gör om upprepad kod till funktion
Innan:
print("Hej Anna")
print("Hej Erik")
print("Hej Samira")Efter:
def säg_hej(namn):
print("Hej", namn)
säg_hej("Anna")
säg_hej("Erik")
säg_hej("Samira")Nu kan du använda samma funktion överallt – lätt att ändra, lätt att återanvända.
Sammanfattning
| Begrepp | Vad det betyder |
|---|---|
| Refaktorisering | Göra om kodens struktur utan att ändra vad den gör |
| Återanvändbar kod | Kod som går att använda flera gånger i olika projekt |
| Bra namn | Gör kod mer förståelig för andra |
| Funktioner & klasser | Hjälper till att dela upp och återanvända logik |