Enkel kode uten leoparder
Husk å kjøre setup-scriptet før du starter dev-miljøet (krever Ruby 3). Bilde: Wikimedia, CC S-A 4.0
Denne uka har jeg fått kode litt sammen med Isam, som startet som utvikler i Mattilsynet på mandag. Parprogrammeringen har fått meg til å tenke på hva vi har gjort, og hvorfor vi har gjort det.
Vi ble tidlig enig om at å lage en enkel personlig nettside for Isam var et fint mål. Så, putt “hei” i index.html og gå i prod?
$ echo "hei" > index.html
Men for å komme oss dit, støtte vi på spørsmål!
Hva er echo
?
Hva er echo $PATH
?
Hva gjør export PATH="/opt/homebrew/bin:$PATH"
?
Hvordan kan vi finne programmer med which
?
Hva skjer når vi har flere vim
-programmer på PATH?
Hva er forskjellen på terminalen (for eksempel Terminal eller Ghostty) og skallet (for eksempel Zsh, Bash eller Fish).
Etter du har prodsatt ny versjon, må du SSH-e inn på ingressen og tømme Varnish-cache, hvis ikke må du vente på automatisk cache-tømming (cirka 30 minutter). Bilde: Wikimedia, CC S-A 4.0
Vi tok oss god tid til å forklare hver ting: terminal, skall, programmer, variabler i skallet, og hvordan PATH
er spesiell.
Etter første økt (tirsdag) hadde vi nettside i prod, fra et Git-repo med to filer: index.html
og dev
.
index.html
var første versjon av nettsiden, og ./dev
ga en live-server.
Etter andre økt (torsdag) hadde vi enkel støtte for innlegg på bloggen.
Hvert innlegg er sin egen HTML-fil, og build.js
samler innleggene og lager index.html
.
Men koden var full av leoparder!
Da var det på tide å rydde.
Vi fjernet console.log()
vi hadde skrevet før for å sjekke noe.
Vi fjernet setting av variabler som ikke ble brukt.
Vi fjernet skriving av en urelatert fil.
Når jeg setter meg ned for å kode, vil jeg føle meg avslappet. Hvis leoparder spretter opp av hull i bakken, ramler ned fra trær og hopper ut fra klesskapet mitt og biter meg i tåa, blir jeg stressa!
Ikke kall sendRequest() før du har kjørt prepareRequest med de samme argumentene! Bilde: Wikimedia, CC S-A 4.0
Oppsummert:
- For å skrive enkel kode, må du forstå fundamentet: terminalen din, programmeringsspråket ditt, Internett og nettleseren.
- Du kan forenkle koden ved å fjerne leopardene du ser.
- Du får enklere kode ved å løse nye problemer på enklest mulig vis. Det er sjelden nyttig med halvferdig kode som planlegger for framtidige eventualiteter.
Takk til Douglas Adams og Jack Rusher for den nydelige leopard-analogien. Jack Rusher har skrevet Leopards in the source code, mens Douglas Adams har denne snutten i Haikerens Guide til Galaksen:
“But the plans were on display…”
“On display? I eventually had to go down to the cellar to find them.”
“That’s the display department.”
“With a flashlight.”
“Ah, well, the lights had probably gone.”
“So had the stairs.”
“But look, you found the notice, didn’t you?”
“Yes,” said Arthur, “yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying ‘Beware of the Leopard.”