Zagotavljanje kakovosti

Pregled procesov in pregledov QA za WvdS FPC RAD Studio.

Ti kontrolni seznami veljajo za vse razvijalce - tako za ročne preglede kot za preglede s pomočjo UI.

Potek dela QA

Vsaka sprememba prestane teh 5 korakov preverjanja:

Korak Preverjanje Kontrolni seznam
1 Pripravljeno za produkcijo Brez TODO, Stub, Mock
2 Varnost KRITIS/NIS2, OWASP
3 Kakovost kode Poimenovanje, DRY, obravnava napak
4 SSOT Skupne knjižnice namesto lokalnih kopij
5 Dokumentacija PasDoc komentarji, API dokumentacija

Matrika profilov

Katere kontrolne sezname uporabiti glede na vrsto projekta:

Vrsta projekta Obvezno Opcijsko
Razširitev VSCode Core, Cross-Platform, VSCode-Stack Varnost, beleženje
Namizna aplikacija Core, Build, beleženje i18n, varnost
TUI/CLI Core, CLI-Stack, Cross-Platform Varnost, zmogljivost
Knjižnica Core, poimenovanje, funkcije, Build Varnost, Cross-Platform
Web API Core, varnost, beleženje Zmogljivost, SQL

Kontrolni seznami podrobno

Dokument Vsebina Kdaj uporabiti
Jedrovni kontrolni seznam Pripravljeno za produkcijo, obravnava napak, beleženje Vedno
Varnostni kontrolni seznam KRITIS/NIS2, OWASP, kripto Pri omrežju, avtentikaciji, kripto
Kontrolni seznam kakovosti kode Poimenovanje, funkcije, DRY Pri spremembah API
Standardi komentiranja PasDoc, XMLDoc, načela Pri novih enotah
Kontrolni seznam VSCode Specifično za razširitve, pas2js Pri delu na razširitvah

Pravila brez tolerance

Ta pravila so neizpogajljiva - koda s kršitvami bo zavrnjena.

Prepovedano v produkcijski kodi

PREPOVEDANO                      ZAHTEVANO
─────────────────────────────────────────────────
// TODO: ...                  →  Popolna implementacija
// FIXME: ...                 →  Popravljena koda
raise ENotImplemented         →  Delujoča koda
Stub funkcije                 →  Prave implementacije
Mock implementacije           →  Produkcijska koda
Nadomestne vrednosti          →  Prave vrednosti
Trdo kodirani nizi            →  Resourcestrings (i18n)
Prazni obdelovalci izjem      →  Specifična obravnava napak
Čarobne številke              →  Poimenovane konstante

Varnostne osnove

PREPOVEDANO                      ZAHTEVANO
─────────────────────────────────────────────────
SQL konkatenacija nizov       →  Parametrizirane poizvedbe
Skrivnosti v dnevnikih        →  Brisanje po uporabi
Trdo kodirane poverilnice     →  Okoljske spremenljivke
Sporočila o napakah s potmi   →  Saniziirana sporočila

Potek pregleda

Korak 1: Jedrovni kontrolni seznam

[ ] Brez TODO/FIXME komentarjev
[ ] Brez stub ali mock funkcij
[ ] Vse funkcije popolnoma implementirane
[ ] Brez praznih obdelovalcev izjem
[ ] Napake se zabeležijo pred obravnavo
[ ] Viri se deterministično sprostijo
[ ] Brez podvojene kode (DRY)
[ ] Brez čarobnih številk

Korak 2: Varnost (če relevantno)

[ ] Vnosi validirani na vseh mejah
[ ] SQL parametriziran (brez konkatenacije)
[ ] Brez skrivnosti v dnevnikih
[ ] Sporočila o napakah sanizirana (brez poti/verzij)
[ ] Skrivnosti izbrisane po uporabi (brisanje)
[ ] Časovne omejitve za zunanje operacije

Korak 3: Preverjanje SSOT

[ ] NodeJS API-ji prek ~/sources/common/web/nodejs/
[ ] VSCode API-ji prek ~/sources/common/web/vscode/
[ ] Beleženje prek WvdS.System.Logging
[ ] Brez neposrednih require() klicev v razširitvah
[ ] Brez dvojnikov skupnih enot

Korak 4: Dokumentacija

[ ] Javni API ima PasDoc komentarje
[ ] Komentarji razložijo ZAKAJ, ne KAJ
[ ] Brez zastarelih komentarjev
[ ] Komentarji v angleščini

Pregledi s pomočjo UI

Isti kontrolni seznami se uporabljajo za avtomatizirane preglede z UI:

# Naloge pregleda (glejte docs/automated-test-tasks.txt)
 
1. IMPLEMENTIRAJ VSE STUBE/MOCKE
   - Ustvari inventar vseh enot
   - Identificiraj stube/mocke
   - Implementiraj produkcijsko pripravljeno
 
2. IZVEDI PREGLED KAKOVOSTI/VARNOSTI
   - Identificiraj varnostna tveganja
   - Najdi kršitve SoC
   - Popravi po standardih
 
3. DODAJ KOMENTARJE KODE
   - Identificiraj manjkajoče komentarje
   - Napiši PasDoc komentarje
 
4. PREVERJANJE SSOT
   - Najdi lokalne require() klice
   - Zamenjaj s klici skupne knjižnice
 
5. ZGRADI RAZŠIRITVE
   - Prevedi in testiraj
   - Ustvari VSIX

Protokoliranje

Vsi koraki pregleda se protokolirajo v formatu sledenja sklada:

[2026-01-13 10:30:22.001] Pregled zagnan
   at TWvdSAudit.Initialize(Audit.Service.pas:42)
   Obseg: sources/extensions/**

[2026-01-13 10:30:22.015] Najdeno: TODO komentar
   at extension_main.pas:156
   Besedilo: "// TODO: Implement error handling"
   Akcija: Zahtevana implementacija

[2026-01-13 10:30:22.042] Popravljeno: TODO komentar odstranjen
   at extension_main.pas:156
   Sprememba: Implementirana popolna obravnava napak

Glejte tudi

Zuletzt geändert: dne 29.01.2026 ob 22:27