Programmering nivå 2
Kap 4.3 – Kodstandard och struktur
Skriv kod som är lätt att läsa, förstå och underhålla.
Mål med lektionen
När du har arbetat klart med denna lektion ska du:
- Förstå varför kodstandard är viktigt i programmering.
- Känna till vanliga konventioner för kodstruktur i Python.
- Kunna skriva kod som är lätt att läsa, förstå och underhålla.
- Använda kommentarer och namngivning för att förklara syfte och funktion.
Så här lär du dig bäst
För att lära dig kodstandard behöver du jämföra bra och dåliga exempel. Läs kod från tidigare uppgifter och förbättra den enligt standard. Testa att samarbeta med en klasskamrat och se om ni kan förstå varandras kod utan att förklara muntligt. Följ riktlinjerna för ditt språk konsekvent.
Centrala begrepp
- läsbarhet – Hur lätt det är för andra att förstå din kod.
- indentering – Att koden har rätt avstånd och är tydligt strukturerad.
- namngivning – Att använda beskrivande namn på variabler, metoder och klasser.
- kommentarer – Att skriva förklaringar i koden utan att det påverkar körningen.
- DRY-principen – "Don't Repeat Yourself" – undvik upprepningar i kod.
Exempel: Python-standard
Dåligt:
def x(a):
return a*a
Bättre:
def square(number):
"""Returnerar kvadraten av ett tal."""
return number * number
Texten mellan """ är en docstring som dokumenterar funktionen. Den kan
läsas av exempelvis help() och olika utvecklingsverktyg. En vanlig kommentar börjar
i stället med # och används för korta förklaringar inne i koden.
- Funktioner och variabler skrivs i snake_case.
- Kommentarer ska förklara varför, inte vad koden gör.
- Kod bryts i lagom långa delar med tydlig logik.
Riktlinjer
- Skriv korta metoder – helst inte längre än 20 rader.
- Använd tomma rader för att dela upp logiska delar.
- Namnge allt så tydligt att man förstår koden utan kommentar.
- Kommentera komplex logik, inte självklarheter.
Struktur i praktiken
Kodstandard handlar inte bara om hur koden ser ut. Det handlar också om att dela upp programmet så att varje del har ett tydligt ansvar. En vanlig förbättring är att flytta upprepade eller svårlästa kodblock till egna funktioner.
Dåligt strukturerat:
x = 0
while True:
print("1. Visa saldo")
print("2. Sätt in 100")
print("3. Avsluta")
v = input("Val: ")
if v == "1":
print(x)
elif v == "2":
x = x + 100
elif v == "3":
break
Koden fungerar, men namnen x och v berättar inte vad de betyder. Menyn,
inmatningen och logiken ligger också blandade i samma block.
Bättre strukturerat:
def skriv_ut_meny():
print("1. Visa saldo")
print("2. Sätt in 100")
print("3. Avsluta")
saldo = 0
while True:
skriv_ut_meny()
val = input("Val: ")
if val == "1":
print(saldo)
elif val == "2":
saldo += 100
elif val == "3":
break
Nu säger namnen mer om syftet. Funktionen skriv_ut_meny() gör bara en sak: skriver ut
menyn. Variabeln saldo är tydligare än x, och val är
tydligare än v.
Interaktiv övning: förbättra kodstruktur
Välj en förbättring och se hur den gör koden lättare att läsa. Övningen handlar om kodkvalitet, inte om att ändra vad programmet gör.
Programmering 2-koppling: bra struktur gör det lättare att felsöka, testa och bygga vidare på programmet i senare kapitel.
Öva själv
Skapa filen kap4-3-kodstruktur.py i din kursmapp. Utgå från ett enkelt bankprogram och
skriv om det så att koden får tydliga namn och tydliga funktioner.
- Skapa funktionen
print_menu()som skriver ut menyn. - Skapa funktionen
deposit(balance, amount)som returnerar ett nytt saldo. - Skapa funktionen
withdraw(balance, amount)som returnerar ett nytt saldo. - Skapa funktionen
main()som styr programmet. - Använd tydliga variabelnamn, till exempel
balance,choiceochamount. - Testa programmet med insättning, uttag, för stort uttag och fel menyval.
När du har försökt själv kan du ladda ner ett lösningsförslag: kap4-3-kodstruktur-losningsforslag.py
Sammanfattning
- Kodstandard gör att fler kan läsa, förstå och vidareutveckla din kod.
- Struktur och tydlighet gör dina program mer professionella.
- God kodstil är lika viktig som att programmet fungerar.