====== 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 ^ | [[.:audit-core|Jedrovni kontrolni seznam]] | Pripravljeno za produkcijo, obravnava napak, beleženje | **Vedno** | | [[.:audit-sicherheit|Varnostni kontrolni seznam]] | KRITIS/NIS2, OWASP, kripto | Pri omrežju, avtentikaciji, kripto | | [[.:audit-codequalitaet|Kontrolni seznam kakovosti kode]] | Poimenovanje, funkcije, DRY | Pri spremembah API | | [[.:kommentierung|Standardi komentiranja]] | PasDoc, XMLDoc, načela | Pri novih enotah | | [[.:audit-vscode|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 ===== * [[.:audit-core|Jedrovni kontrolni seznam]] * [[.:audit-sicherheit|Varnostni kontrolni seznam]] * [[.:audit-codequalitaet|Kontrolni seznam kakovosti kode]] * [[.:kommentierung|Standardi komentiranja]] * [[.:audit-vscode|Kontrolni seznam razširitve VSCode]] * [[.:sicherheit|Varnostne smernice]] * [[.:code-konventionen|Konvencije kode]]