Pregled procesov in pregledov QA za WvdS FPC RAD Studio.
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 |
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 |
| 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 |
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
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
[ ] 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
[ ] 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
[ ] 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
[ ] Javni API ima PasDoc komentarje [ ] Komentarji razložijo ZAKAJ, ne KAJ [ ] Brez zastarelih komentarjev [ ] Komentarji v angleščini
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
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