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.

Välj en förbättring och tryck på Visa förbättring.

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.

  1. Skapa funktionen print_menu() som skriver ut menyn.
  2. Skapa funktionen deposit(balance, amount) som returnerar ett nytt saldo.
  3. Skapa funktionen withdraw(balance, amount) som returnerar ett nytt saldo.
  4. Skapa funktionen main() som styr programmet.
  5. Använd tydliga variabelnamn, till exempel balance, choice och amount.
  6. 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.

Tillbaka till Kapitel 4