Programmerings-håndtverk
Noen temaer som er litt på siden av pensum, men som er nyttig for å bli bedre og mer effektive til å programmere.
Hvordan bruke mindre tid feil og feilmeldinger
Vi snakker typisk om tre typer feil:
- Syntax errors
- Runtime errors
- "Logiske feil"
Nr. 1 er stort sett enkle å fikse (krever bare at man vet hva feilmeldingen betyr).
Nr. 2 og 3 kan være vanskelige. Disse kan ofte skje feil som oppstår "tidligere" enn der feilmeldingen eller feilen oppstår. Vi ser på et eksempel sammen.
Tips for å unngå nr. 2 og 3:
- Bruk
assert
: Sjekk at variable er det du forventer at de skal være - Skriv unit-tester: Test små biter av koden slik at du er sikker på at hver del av koden fungerer som den skal
- Ikke stol på blindt på at din egen kode eller andres kode gjør det den sier den skal gjøre, og ikke stol på at filer er slik de skal være.
Hvordan angripe et større problem?
- Del problemet opp i mindre biter
- Start med enkle versjon av kompleks funksjonalitet (eksempel: Returner dummy-data)
- Utsett deler av koden som det ikke er opplagt hvordan skal skrives
- Få noe enkelt til å fungere først, utvid deretter koden i iterasjoner
- Sørg for at koden alltid kjører, og at du har oversikt over all koden underveis
Eksmpel: Aksjeoppgaven
IPython
- Veldig nyttig for å kjapt teste ut ting
Clean code
Link: https://enos.itcollege.ee/~jpoial/oop/naited/Clean%20Code.pdf
Veldig nyttig bok med mange tips for å skrive "cleanere" kode. Cleanere kode er ikke viktig bare i seg selv, men det gjøre også at man blir mindre
Noen eksempler på gode regler fra boken:
- Gi alle funksjoner og variable meningsfulle navn som forklarer akkurat hva funksjonen eller variabelen er/gjør
- Sørg for at alle funksjoner bare gjør én ting og at ikke gjør ting de ikke sier at de gjør
- Alle funksjoner skal ha verb- eller "verb phrase" navn