Vi har testa verktøyet som endelig gjør det enkelt å lage dokumentasjon

"Hva i alle dager gjør denne funksjonen?" Swimm gir deg svaret rett i editoren!

Det er mye enklere å huske å oppdatere dokumentasjonen når den lever side om side med koden din, i kodeeditoren. 📸: Ole Petter Baugerød Stokke
Det er mye enklere å huske å oppdatere dokumentasjonen når den lever side om side med koden din, i kodeeditoren. 📸: Ole Petter Baugerød Stokke Vis mer

Vi tipper mange utviklere har dårlig samvittighet for at de er for dårlige til å dokumentere koden de skriver. Ikke bare er det mye jobb å skrive dokumentasjon, dokumentasjonen blir også raskt utdatert – og det kan være vanskelig for andre å finne den.

Men dokumentasjon er viktig – for hva skjer den dagen en sentral person på teamet slutter? Er koden dårlig dokumentert og den som slutter er den eneste som faktisk skjønner hva den gjør, har du antagelig mer enn ett problem.

Det er her det nye verktøyet Swimm kommer til unnsetning. Med Swimm får du tilgang til dokumentasjon rett i kodeeditoren – side om side med koden. Målet til Swimm er at utviklere enkelt kan dele kunnskap om koden, slik at andre utviklere raskt kan forstå koden og bidra til den.

Koblet til git-repoene dine

Vi har prøvd Swimm, og ble positivt overrasket over hvor lett det er å komme igang. Alt du trenger å gjøre for å ta det i bruk er å opprette en konto og deretter et såkalt workspace.

Et workspace kan inneholde ett eller flere dokumenter knyttet til et kodeprosjekt. Du kan enten opprette et helt blankt dokument, eller bruke en av mange ferdige maler.

Det følger med en rekke ulike maler du kan bruke når du for eksempel vil dokumentere flyten i koden din, hvordan en komponent fungerer, eller hvordan en løsning er designet.
Det følger med en rekke ulike maler du kan bruke når du for eksempel vil dokumentere flyten i koden din, hvordan en komponent fungerer, eller hvordan en løsning er designet. Vis mer

All dokumentasjon du lager må være koblet til ett git-repo. Målet til Swimm er å få til det de kaller Continous Documentation, der dokumentasjon til koden opprettes, vedlikeholdes og brukes som en del av den vanlige arbeidsflyten til utviklere.

Du må velge hvilket git-repo dokumentfilen du oppretter skal tilhøre. Dermed blir dokumentasjonen koblet til kodebasen din, og lever side om side med kildekoden i en egen skjult mappe med markdownfiler.
Du må velge hvilket git-repo dokumentfilen du oppretter skal tilhøre. Dermed blir dokumentasjonen koblet til kodebasen din, og lever side om side med kildekoden i en egen skjult mappe med markdownfiler. Vis mer

For å få til dette har Swimm valgt en litt annen tilnærming til kodedokumentasjon enn konkurrenter som Atlassian Confluence eller Notion.

I Swimm lagres dokumentasjon i en skjult .swm-mappe, slik at den håndteres sammen med koden og med samme versjonskontroll utviklerne ellers er vant til ("Documentation as Code).

Se dokumentasjonen rett i editoren

Det geniale med Swimm er at du finner dokumentasjonen til koden du jobber med rett i kodeeditoren, side om side med koden dokumentasjonen gjelder for. Ingen mer ørkesløs leting i uoversiktlig dokumentasjon.

Vi installerte Swimm-tillegget til VS Code, men det er også støtte for andre editorer som blant annet JetBrains IntelliJ, Webstorm, og så videre.

Når tillegget er lagt til, får du en egen knapp i kodeeditoren for å vise dokumentasjonen til prosjektet ditt. Hvis noen har brukt kodesnutter i dokumentasjonen, vil lenker til riktig sted i dokumentasjonen vises direkte i koden din – vist med rød ring til høyre på bildet under:

image: Vi har testa verktøyet som endelig gjør det enkelt å lage dokumentasjon

Et klikk på lenken tar deg rett til riktig sted i dokumentasjonen:

image: Vi har testa verktøyet som endelig gjør det enkelt å lage dokumentasjon

Redigering av dokumentasjon må foreløpig foregå via nettleseren, men når du leser dokumentasjon i kodeeditoren er det alltid en lett tilgjengelig lenke ved siden av tittelen for å åpne den aktuelle siden for redigering i nettleseren.

Fleksibel og enkel editor

Editoren du bruker for å redigere dokumentasjonen er enkel å bruke. Det er snakk om markdown-filer, der du kan skrive for eksempel # for H1, ## for H2, og så videre. Men visningen er full wysiwyg, i tilfelle du ikke er helt stødig i markdown-syntaksen.

Trykker du / (skråstrek) får du opp en meny der du kan velge å legge til bilder, tabeller, diagrammer, lenker til andre dokumenter, og så videre.

«Kodesnutten synkroniseres automatisk slik at dokumentasjonen alltid skal inneholde siste versjon av koden.»

Skråstrek-menyen inneholder også en av de mest geniale funksjonene i Swimm, nemlig mulighet til å legge til en kodesnutt fra repoet du skriver dokumentasjon til. Kodesnutten synkroniseres automatisk slik at dokumentasjonen alltid skal inneholde siste versjon av koden.

Skriver du /code får du opp en filutforsker for repoet ditt, så kan du velge en fil og markere kodesnutten du vil vise i dokumentasjonen – som illustrert under:

Kodesnutten du legger til i dokumentasjonen er automatisk synkronisert med git-repoet. Gjøres det endringer i koden, blir det
Kodesnutten du legger til i dokumentasjonen er automatisk synkronisert med git-repoet. Gjøres det endringer i koden, blir det Vis mer

Hvis noen på ett eller annet tidspunkt gjør endringer i koden du har brukt som eksempler i dokumentasjonen, vil du få beskjed i dokumentasjons-editoren om at det er auto-syncet kode som trenger gjennomsyn. Så er det bare å akseptere eller ikke.

Etter at du har akseptert, velger du commit, så vil dokumentasjonsfilen committes til repoet ditt som en hvilken som helst kildekodefil.

Her har vi fått beskjed om at det er gjort endringer i kodesnuttene som er brukt i dokumentasjonen. Endringene synkroniseres automatisk, men du må ta stilling til om du vil godkjenne dem eller ikke.
Her har vi fått beskjed om at det er gjort endringer i kodesnuttene som er brukt i dokumentasjonen. Endringene synkroniseres automatisk, men du må ta stilling til om du vil godkjenne dem eller ikke. Vis mer

Dokumentasjonseditoren lar deg ellers legge til lenker som peker direkte til bestemte filer i repoet.

Du kan også referere direkte til funksjoner, metoder, variabler eller annet i koden din ved hjelp av smart tokens. Du begynner bare med å skrive en "backtick" (`), så får du forslag til for eksempel variabler i koden du kan vise til. En som leser dokumentasjonen vil kunne klikke på denne for å se definisjonen.

Bra for team – gratis for 1 bruker

Swimm har en masse funksjonalitet som vi ikke har gått i dybden på her, som blant annet Slack-integrasjon, integrasjon med CI/CD-pipelines, mulighet til å lage spillelister som tar brukere gjennom dokumentasjon i en bestemt rekkefølge, og så videre.

Vi anbefaler egentlig at du bare prøver ut Swimm selv. Den er gratis for opptil fem brukere og ett privat repo (public repoer er gratis uansett), og koster 8 dollar per måned per bruker hvis du vil ha ubegrenset antall private repoer.