Göm meny

  • Koden ska följa PEP 8.
  • Moduler (själva filen), funktioner, klasser och metoder ska kommenteras enligt PEP 257.
  • Koden ska följa koddispositionen nedan.
  • Koden ska utföra uppgifterna enligt respektive uppgiftsbeskrivning.
  • Koden ska vara uppdelad i olika filer enligt instruktionerna för respektive uppgift.

För hjälp med kontroll av PEP, se PEP 8 och PEP 257.

Krav på koddisposition

För att göra det lättare att hitta i koden är det bör den följa en genomtänkt koddisposition. Nedan är en vanlig disposition som används i många språk.

  1. Alla import-satser placeras högst upp i filen (se också PEP8 - Imports för intern ordning)
  2. Eventuella globala konstanter
  3. Funktionsdefinitioner
  4. Kod utanför funktioner, t.ex. anrop till en main()-funktion och annan kod i if __name__ == "__main__":-block.

Krav på kommentarer och namngivning av funktioner och variabler

  • Alla satser som består av fler än en rad ska ha en tillhörande kommentar. Dvs if-satser, loopar, funktioner och metoder. Kommentaren ska inte vara en “innantilläsning” av koden den hör till. Använd rätt kommentarsmarkering (d.v.s. # för kommentarer i löpande kod, se PEP8 - Comments, och """ för dokumentationssträngar, PEP 257).
  • Funktioner och variabler ska vara döpta på ett bra sätt, dvs att de är beskrivande och reflekterar innehåll/funktion. Låt funktionsnamn vara verb och variabelnamn vara substantiv. Undvik namn på enbart en bokstav (var beredda att kunna motivera varför ni valt just det namnet). Se PEP8 - Naming Conventions för mer detaljer.

Här är icke-godkänd kod:

1
2
3
4
5
6
7
8
v = 0
q = 0
u = [19, 21, 24, 20]

# för alla element t i u, lägg till t till v
for t in u:
    v += t
q = v/len(u)

Här är en godkänd variant:

1
2
3
4
5
6
7
8
sum_age = 0
avg_age = 0
ages = [19, 21, 24, 20]

# beräkna summan av alla åldrar
for age in ages:
    sum_age += age
avg_age = sum_age/len(ages)

Annat att tänka på

  • Minimera användningen av hårdkodade siffror, (s.k. magic numbers). Använd istället variabler med förklarande namn.
  • Dela upp er kod i delfunktioner/delmetoder vid behov:
    • när ni stöter på kod som ni upprepar, bryt ut koden (lägg koden i en separat funktion/metod)
    • dela även upp er kod i fler funktioner/metoder när den blir för lång

Sidansvarig: Johan Falkenjack
Senast uppdaterad: 0001-01-01