Hjem » Siste artikler » Slik skriver du en README som faktisk hjelper teamet ditt

Slik skriver du en README som faktisk hjelper teamet ditt

Hovedillustrasjon
Hovedillustrasjon. Foto: Artem Sapegin / Unsplash.

README-filen er ofte det første møtet nye utviklere har med prosjektet ditt. Likevel blir den ofte skrevet på slutten, i full fart, og aldri oppdatert. Resultatet er spørsmål på Slack, frustrasjon og tid som forsvinner i onboarding.

Med en gjennomtenkt README kan du spare deg selv og teamet for mye unødvendig arbeid. Her ser vi på hva som bør med, hvordan du strukturerer den og vanlige feil det er lett å unngå.

Hva README egentlig bør løse

En god README skal svare på de samme spørsmålene som dukker opp hver gang noen skal jobbe på prosjektet: Hva er dette, hvordan kjører jeg det lokalt, og hvor finner jeg mer informasjon. Alt annet er bonus.

Tenk på README som en kort, praktisk bruksanvisning til utviklermiljøet, ikke som en fullstendig teknisk dokumentasjon. Den skal få folk i gang raskt, og vise hvor de kan grave dypere ved behov.

En enkel grunnstruktur som fungerer nesten overalt

For de fleste web og app prosjekter holder det lenge med en fast struktur. Poenget er at alle vet hvor de finner hva, uansett repo.

En typisk struktur som fungerer godt er:

  • Oversikt:Kort beskrivelse og målgruppe
  • Komme i gang:Forutsetninger og installasjon
  • Daglig arbeid:Sentrale kommandoer og arbeidsflyt
  • Testing og kvalitet:Hvordan kjøre tester og sjekker
  • Miljø og konfigurasjon:Nøkler, hemmeligheter og profiler
  • Deploy og drift:Kort om hvordan kode havner i produksjon
  • Videre lesning:Lenker til mer detaljert dokumentasjon

Oversikt: si hva prosjektet gjør, ikke bare hva det heter

Unngå åpninger som kun gjentar repo-navnet. Skriv heller et par setninger om hva systemet faktisk gjør og hvem som bruker det. Dette hjelper nye utviklere å forstå kontekst og prioriteringer.

Legg gjerne inn punkter som beskriver hovedkomponenter, for eksempel frontend, backend og eventuelle jobber eller integrasjoner. Da er det lettere å se hvor endringer skal inn.

Komme i gang: oppskrift fra tom maskin til kjørende app

Beskriv stegene i den rekkefølgen en nyutvikler faktisk må ta: installer forutsetninger, klon repoet, installer avhengigheter, sett opp miljøvariabler og start opp lokalt. Skriv det som en konkret oppskrift, ikke som generell tekst.

Vær tydelig på versjoner som pleier å skape trøbbel, som spesifikke Node, Java eller Python versjoner. Om noe er følsomt for versjon, skriv det eksplisitt og legg til en kort kommentar om hva som skjer dersom versjonen ikke stemmer.

Daglig arbeid: de 5 viktigste kommandoene

Mange README-filer ramser opp alle scripts og CLI-kommandoer i prosjektet. Det blir fort uoversiktlig og lite nyttig i hverdagen. Fokuser heller på det som faktisk brukes ofte.

En god tilnærming er å ha en egen del for daglig arbeid med et kort sett kommandoer, for eksempel starte app lokalt, kjøre enhetstester, kjøre e2e tester, bygge for produksjon og formatere eller linting. Resten kan ligge i en egen, mer detaljert seksjon eller i egne dokumenter.

Testing og kvalitet: gjør terskelen lav

Tematisk illustrasjon
Tematisk illustrasjon. Foto: Bernd 📷 Dittrich / Unsplash.

Testene blir ikke kjørt hvis det er tungvint, uklart hva som gjelder, eller tar for lang tid i utviklingsløp. I README bør du derfor beskrive det minste settet med tester som bør kjøres før en endring sendes videre.

Skill gjerne mellom raske tester som kjører ofte lokalt, og tyngre tester som typisk overlates til CI. Forklar også kort hvordan man håndterer vanlige feil, for eksempel hvor man finner loggfilene eller hvordan man kan isolere en enkelt testfil.

Miljøvariabler og hemmeligheter uten å lekke noe

Miljøer er en gjenganger for nye utviklere: hvilke filer må jeg kopiere, hva må jeg be om tilgang til, og hva kan jeg finne i utviklerportalen. README bør gi en oversikt uten å inneholde faktiske nøkler eller hemmeligheter.

Et enkelt mønster er å liste nødvendige variabler, forklare kort hva de brukes til, og fortelle hvor referanseverdier eller eksempler kan finnes. For eksempel en eksempelkonfigurasjon, en secrets manager eller en intern wiki-side.

Deploy og miljøer: slik går koden din videre

Selv om detaljene ofte ligger andre steder, er det nyttig med en kort beskrivelse av hvordan endringer ender opp i test og produksjon. Det gjør det lettere å forstå konsekvensen av en endring og hvor feil kan dukke opp.

Beskriv for eksempel hvilke grener eller tags som trigget deploy tidligere, hvilke miljøer som finnes, og hvor man kan følge med på status og logger. Unngå å lime inn detaljerte pipelinekonfigurasjoner, lenk heller til kildefilen i repoet.

Vanlige feil som gjør README ubrukelig

Flere ting går igjen i README-filer som ikke fungerer i praksis. En klassiker er at filen kun beskriver første versjon av prosjektet og aldri oppdateres, slik at den gradvis blir farlig feil.

Andre typiske problemer er at README blir for teoretisk, at den forutsetter intern kontekst som nye folk ikke har, eller at den peker til interne ressurser som ikke lenger finnes. Gjør det til en vane å oppdatere README når du gjør større endringer, og be om oppdatering i kodegjennomgang når nye ting legges til.

En enkel sjekkliste før du committer

Før du avslutter en større endring, ta en kort gjennomgang av README. Spør deg selv om installasjonsstegene fortsatt stemmer, om nye viktige kommandoer er dokumentert, og om eventuelle nye miljøvariabler er nevnt.

Hvis noen nylig stilte et spørsmål på Slack som README kunne svart på, er det et tegn på at noe mangler. Legg inn litt tid på å skrive det inn der, så slipper neste person å spørre det samme.

0 kommentarer