07.08.2019
4 min læsetid

Lær at skrive ‘Pythonic’

Python er kendetegnet ved at være simpel og læsevenlig. Men hvis du virkelig vil skrive den ypperste Python-kode, er der nogle retningslinjer, du bør følge. Her er 4 trin til at forbedre kvaliteten af din software.

IDA Learning

afIDA Learning

Hvis du interesserer dig for kode, og måske selv arbejder i Python, er du måske stødt på begrebet Pythonic. Kode kan nemlig være mere eller mindre Pythonic.

Dybest set betyder det, at kode, der er Pythonic ikke bare har en brugbar syntaks, men at den også følger konventionerne i Python-samfundet, og bruger sproget på den måde, det er beregnet til at blive brugt.

Du kan altså godt opleve, at en egentlig velfungerende (men måske unødvendig kompliceret) kode får stemplet non-Pythonic.

Fordelene ved at skrive din kode Pythonic er, at du udnytter Python til at producere en kode, der er klar, præcis og nem at vedligeholde. Derved bliver den også mere læsevenlig for andre programmører, der måske skal overtage dele af eller samarbejde om din kode.

Og som Pythons opfinder, hollandske Guido van Rossum - i Python-kredse kendt som Benevolt Dictator For Life" - siger: “Code is read much more often than it is written.”

Sådan skriver du en mere Pythonic kode:

Brug PEP8-retningslinjerne.

PEP8, hvor PEP står for Python Enhancement Proposal, er Pythons officielle stilguide. Det er fyldt med gode råd og best practises, som sikrer, at din kode følger basestandarden for Python-kodelæsbarhed.

Her finder du også svar på livets store spørgsmål som Tabs eller Spaces? (Jeps, spaces er den foretrukne metode - se svaret her)

Navngiv efter konventionerne

Når du skriver Python-kode, skal du navngive en masse ting: variabler, funktioner, klasser, pakker osv. Hvis du navngiver dem fornuftigt, vil det spare dig tid og energi senere, fordi du ud af fra navnet kan regne ud, hvad en bestemt variabel, funktion eller klasse repræsenterer.

Det kan være sværere end det lige lyder, og du bør bruge noget tid på at tænke over dine navnevalg, da de i høj grad er med til at gøre din kode læsbar. Undgå at bruge forkortelser for at slippe for at taste lange navne, for næste gang du vender tilbage til din kode kan du meget vel have glemt, hvad forkortelsen stod for - og en udefrakommende vil have meget svært ved at gætte sig frem til det.

Navngiv i stedet så præcist og beskrivende som muligt. På den måde undgår du også at bruge upassende navne, der kan resultere i fejl, der er vanskelige at fejlsøge.

Navne, der er synlige for brugeren som offentlige dele af API, bør dog følge konventioner, der reflekterer brug snarere end implementering.

Brug tomme linjer

Tomme linjer kan forbedre din kodes læsevenlighed. Men ligesom en meget kompakt og pakket kode kan være overvældende og svær at læse, kan for mange tomme linjer sløre sammenhænge mellem afsnit og medføre unødvendig meget scrollen. Derfor er retningslinjerne:

  • Omgiv funktioner og klasser på øverste niveau med to blanke linjer.
  • Omgiv metodedefinitioner inden for klasser med en enkelt tom linje.
  • Brug tomme linjer sparsomt indenfor funktioner til at vise klare trin. Nogle gange er en kompliceret funktion nødt til at udføre flere trin før retur-erklæringen. For at hjælpe læseren med at forstå logikken i funktionen kan det være nyttigt at efterlade en tom linje mellem hvert trin.

Dokumentér

Skriv kommentarer og inkluder docstrings i din kode, hvor det er nødvendigt. Du skal sørge for, at din kode forklarer sig selv, hvor det er muligt, og tilføje understøttende detaljer, hvor der er behov for det.

Især for nybegyndere i Python kan det være svært at huske, hvad en given kodestump gør efter nogle dage eller uger. Men har du fulgt PEP8, så har du navngivet dine variabler godt, du har kommenteret din kode, og du har tilføjet tomme linjer og whitespace de rigtige steder, så det er nemt at følge de logiske trin i din kode. Alt dette betyder, at din kode er meget læsevenlig og nem at komme tilbage til - eller at arbejde videre med for en anden.

Kursus: Lær at programmere i Python

Lær at udvikle applikationer i Python og bliver klædt på til at udvælge og anvende moduler og packages til domænespecifikke opgaver.

Kursus: Kom i gang med Python-kode.

Tilmeld dig Technorama

I Technorama får du et overblik over de vigtigste historier fra teknologiens verden, hvad end det handler om etiske dilemmaer, nye teknologiske landvindinger eller spæde opfindelser.
  • Aktuelle artikler
  • Det bedste vi har set
  • Ugens nyhedsoverflyvning
Tilmeld dig nyhedsbrevLæs det seneste nyhedsbrev