# Total.js kodstil: namn, filer, CSS, SQL och komponenter

> Total.js-communityns konventioner för JavaScript, namn, scheman, require(), CSS, jComponent-plugins och -komponenter, SQL-skript och mappar, så att alla projekt läses likadant och ett team eller en AI-assistent kan fortsätta dem.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: sv
Content-SHA256: 6992ba8f02008e473397f5625412dd59850b0940967d1e0b2818b475a109c7db
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

Total.js-projekt delar en stil, och det är en styrka: du öppnar vilket som helst och vet var saker finns och hur de är skrivna. Den här sidan samlar konventionerna från [Total.js guidelines](https://github.com/totaljs-es/guidelines) på ett ställe (den granskade revisionen finns i [ai-sources.json](/ai-sources.json)). Följ först stilen i projektet du arbetar i; det här är standardreglerna för ny kod. För ramverkssidan, läs [Total.js 5-konventioner för kodassistenter](/en/docs/totaljs-agent-conventions/).

## JavaScript

- **Filer:** namn med små bokstäver, med bindestreck i stället för understreck (`user-profile.js`).
- **Layout:** tabbar (bredd 4), inga onödiga blanksteg och semikolon i slutet av varje sats.
- **Strängar:** enkla citattecken för korta strängar.
- **Variabler:** använd `var` eller `let` i metoder och spara `const` till toppen av en modul.
- **Loopar:** där det passar föredras en klassisk `for` framför `forEach()`.
- **Beroenden:** håll dem till ett minimum och följ den kod som redan finns.

## Namn som reser mellan projekt

Använd samma namn för samma sak överallt, så att kod kan flyttas mellan projekt och läsas med en blick:

| Namn | Användning |
|---|---|
| `id`, `name`, `value`, `email` | det vanliga id:t, namnet, värdet och e-posten |
| `items` or `arr`, `item` | en lista och ett av dess element |
| `tmp` | ett tillfälligt värde |
| `dtcreated`, `dtupdated` | datum för skapande och uppdatering |

**Scheman** har ett namn i plural som börjar med stor bokstav (`Contacts`), och identifierare skapas med `UID()`.

## Använda require()

Överst i en modul använd `const` och låt variabelnamnet börja med stor bokstav: `const Fs = require('fs');`.

## CSS

- Filnamn med små bokstäver och bindestreck.
- Skriv varje stilregel på en enda rad.
- Skriv inte webbläsarprefix för hand: lägg till kommentaren `/*auto*/` så sätter Total.js prefixen åt dig.
- Enkla citattecken och vanlig CSS i stället för LESS eller SASS.

## Plugins och komponenter (jComponent)

- Små bokstäver för namn på plugins, komponenter och poster i `FUNC.`, `MAIN.` och `REPO.`, och för variabler.
- Undvik understreck där du kan och håll nästlingen på två eller tre nivåer.
- Ett plugin skrivs med `exports.`; en komponent använder `self`, `config` och `cls`.
- Designa för återanvändning.

## SQL-skript

- Namn på tabeller och fält med små bokstäver, tabbar för indrag och semikolon i slutet av varje sats.
- Ta bort onödiga typkonverteringar, formatera skriptet och håll tabeller, vyer, procedurer eller funktioner och index i separata skript.

| Prefix | För |
|---|---|
| `tbl_` | tabeller, med namnet i singular |
| `cl_` | kodlistor |
| `view_` | vyer |
| `sp_` | lagrade procedurer |
| `fn_` | funktioner |

I fälten inleder `dt` ett datum, `is` ett booleskt värde, nycklar följer mönstret `id` eller `userid` och `text` används i stället för `varchar`. Använd `id`, `name` och `dtcreated` där de passar och ordna kolumnerna som identifierare, huvudfält, tal, booleska värden och datum, med främmande nyckel-villkoren sist.

## Mappar

Lägg bilder i `/img/`, skript i `/js/`, stilar i `/css/`, typsnitt i `/fonts/` och videor i `/videos/`, och namnge filerna med bindestreck.

## Varför det hjälper

En gemensam stil gör ett projekt lätt att lämna över, granska och bygga vidare på, och ger en AI-assistent ett tydligt mönster att följa. Ge din assistent den här sidan tillsammans med [Total.js 5-konventioner för kodassistenter](/en/docs/totaljs-agent-conventions/) så passar dess kod ihop med resten av din applikation.
