Satte en kvalitetsstandard med null advarsler for seks språk — Go, TypeScript, SQL, Python, Shell og Markdown — håndhevet av pre‑commit‑hooks.
Arbeidet utført: 2025
seks språk holdt til kravet om null advarsler
Situasjon. Advarsler som hoper seg opp, tærer i det stille. Hver diagnostikk man ignorerer, senker listen litt, og når bygget først spytter ut førti av dem, leser ingen noen av dem, og et reelt problem ligger midt i oversikten, synlig for alle, fordi «advarsler» har blitt bakgrunnsstøy. I en flerspråklig kodebase finnes det desto flere støykilder som kan få dette til å skje.
Oppgave. Repoet trengte én kompromissløs kvalitetsstandard på tvers av alle språk, slik at ting ble rettet i stedet for å hope seg opp.
Handling. En nulladvarselspolicy ble innført, med verktøyene som det som håndhever den, fordi en policy som baserer seg på alles årvåkenhet, taper mot den første travle uken. Hver linterdiagnostikk er en feil — det finnes ikke noe «warn»-nivå å gjemme seg i — og det er likt i hele stakken: Go med golangci‑lint, TypeScript med ESLint, SQL med SQLFluff, Python med Ruff, shell med ShellCheck, Markdown med markdownlint. Inline‑undertrykkelser er forbudt, så man kan ikke dekke over en diagnostikk; man må faktisk rette det som er galt. Pre‑commit- og pre‑push‑hooks kjører linterne og testene, så en commit som ville ha introdusert et problem, blir aldri laget. Det finnes til og med lengdegrenser for funksjoner og filer, for å hindre at moduler vokser forbi punktet der de er lesbare.
Resultat. Problemer blir rettet ved kilden i stedet for å bli skjøvet inn i et etterslep ingen tar igjen, og kodebasen holder seg ren som standard og ikke gjennom periodiske heltedåder. Standarden er identisk uansett hvilket språk man jobber i, og det er verktøyene som holder den — ikke noens viljestyrke — og det er derfor den faktisk holder.
Les videre: Tok plattformens grunnleggende beslutninger i ukene etter at repoet ble opprettet i november 2025 — lagdelingen, datatilgang med databasen først og kravet om null advarsler — og de står seg fortsatt ni måneder senere. Eller ta en titt på hele porteføljen.
Ett stykke av en lengre oversikt — og den ligger i sin helhet her.
Hver oppføring er skrevet på samme måte: situasjonen, oppgaven, hva vi gjorde, og hva som endret seg.