# Använd tsDoc för att dokumentera kod
__
status: alpha
author: krm
created: 2023-11-27
__

# 👁️‍🗨️ Om detta avsnitt

Vi gåtr igneom hur vi kan använda tsDoc för att dokumentera kod. Vi 
utgår från samma exempel som för unit tesatningen.

# 🧭 Vad är referens dokumentation?

En teknsik dokumentaion av ett program. Dokumentationen förklarar exakt 
hur programmet fungerar, men inte på ett nödvändigvis enkelt sätt att 
förstå.

# 📚 Vi behöver ett packet installerade för dokumentation

Vi kommer anävnda oss av packet tsDoc för att göra dokumentaitonen. 
Detta packet måste vara installerat.

- 🔗 [tsDoc](https://tsDoc.org/)

Finns installerade via mallen.

# 1. Hitta funktioner eller objekt att dokumentera

Allt som ska användas i ett APi som andra programmerar ska använda bör 
vara dokumenterade. Men det kan ibland även vara bra att dokumentera 
internafuktioner. Däremot kan det också vara klockt att undvika att 
dokumentera för mycket efterosm det tar tid och dokumenteringen måst 
underhållas på samma sätt som kod.

# 2. Lägg till dokumentation till koden

Över koden lägg till dokumentation.

```js
/**
 * Returns the value of a polynom
 *
 * @param Xvalue - The value of x in the polynom
 * @returns A value calculatet by a polynom
 *
 */
export function polynomA(Xvalue) {
   return 3*Xvalue*Xvalue+2*Xvalue+1
}
```

Var nogran med syntaxen i kommentaren. Annars kommer dokumentations 
parsrn att ignorera den.

# 3. Generera dokumentation

När du lagt till dokumentation så kan du generera ett webbsida som 
visar upp denna dokumentation. Sidan kommer spara under _doc_ mappen.

```sh
npm run doc
```

# ✔️ 4. Kontrollera att din doikumentation blir bra.

Gå in på dokumentationsens webbsida. Du behöver inte starta någon 
webbsida.

```sh
firefox doc/index.html
```
