Inhaltsverzeichnis
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