Osiguranje kvalitete

Pregled QA-procesa i provjera za WvdS FPC RAD Studio.

Ove checkliste vrijede za sve razvojne programere - i za ručne preglede i za AI-potpomognute audite.

QA-Workflow

Svaka promjena prolazi kroz ovih 5 koraka provjere:

Korak Provjera Checklista
1 Production-Ready Nema TODOs, Stubs, Mocks
2 Sigurnost KRITIS/NIS2, OWASP
3 Kvaliteta koda Naming, DRY, Error Handling
4 SSOT Common Libraries umjesto lokalnih kopija
5 Dokumentacija PasDoc-komentari, API-Docs

Profil-Matrica

Koje checkliste primijeniti ovisno o tipu projekta:

Tip projekta Obavezno Opcionalno
VSCode Extension Core, Cross-Platform, VSCode-Stack Sigurnost, Logging
Desktop App Core, Build, Logging i18n, Sigurnost
TUI/CLI Core, CLI-Stack, Cross-Platform Sigurnost, Performanse
Library Core, Naming, Functions, Build Sigurnost, Cross-Platform
Web API Core, Sigurnost, Logging Performanse, SQL

Checkliste u detalje

Dokument Sadržaj Kada primijeniti
Core-Checklista Production-Ready, Error Handling, Logging Uvijek
Sigurnosna checklista KRITIS/NIS2, OWASP, Crypto Kod Mreže, Auth, Crypto
Checklista kvalitete koda Naming, Functions, DRY Kod API-promjena
Standardi komentiranja PasDoc, XMLDoc, Principles Kod novih Unita
VSCode-Checklista Extension-specifično, pas2js Kod rada na Extensionu

Zero-Tolerance-Pravila

Ova pravila su nepregovarajuća - kod s kršenjima bit će odbijen.

Zabranjeno u produkcijskom kodu

ZABRANJENO                       POTREBNO
─────────────────────────────────────────────────
// TODO: ...                  →  Potpuna implementacija
// FIXME: ...                 →  Ispravljeni kod
raise ENotImplemented         →  Funkcionirajući kod
Stub-funkcije                 →  Prave implementacije
Mock-implementacije           →  Produkcijski kod
Placeholder-vrijednosti       →  Prave vrijednosti
Hardkodirani stringovi        →  Resourcestrings (i18n)
Prazni Exception-handleri     →  Specifična obrada grešaka
Magic Numbers                 →  Imenovane konstante

Sigurnosni temelji

ZABRANJENO                       POTREBNO
─────────────────────────────────────────────────
SQL-String-konkatenacija      →  Parametrizirani Queries
Secrets u logovima            →  Zeroization nakon korištenja
Hardkodirani Credentials      →  Environment Variables
Poruke o greškama s putanjama →  Sanitizirane poruke

Review-Tok

Korak 1: Core-Checklista

[ ] Nema TODO/FIXME-komentara
[ ] Nema Stub- ili Mock-funkcija
[ ] Sve funkcije potpuno implementirane
[ ] Nema praznih Exception-handlera
[ ] Greške se logiraju prije obrade
[ ] Resursi se deterministički oslobađaju
[ ] Nema dupliciranog koda (DRY)
[ ] Nema Magic Numbers

Korak 2: Sigurnost (ako relevantno)

[ ] Inputi validirani na svim granicama
[ ] SQL parametriziran (bez konkatenacije)
[ ] Nema Secrets u logovima
[ ] Poruke o greškama sanitizirane (bez putanja/verzija)
[ ] Secrets obrisani nakon korištenja (Zeroization)
[ ] Timeouts za vanjske operacije

Korak 3: SSOT-Provjera

[ ] NodeJS-APIs via ~/sources/common/web/nodejs/
[ ] VSCode-APIs via ~/sources/common/web/vscode/
[ ] Logging via WvdS.System.Logging
[ ] Nema direktnih require()-poziva u Extensionima
[ ] Nema duplikata Common-Unita

Korak 4: Dokumentacija

[ ] Javni API ima PasDoc-komentare
[ ] Komentari objašnjavaju ZAŠTO, ne ŠTO
[ ] Nema zastarjelih komentara
[ ] Komentari na engleskom

AI-potpomognuti Auditi

Iste checkliste koriste se za automatizirane AI-Audite:

# Audit-Zadaci (vidi docs/automated-test-tasks.txt)
 
1. IMPLEMENT ALL STUBS/MOCKS
   - Kreirati inventar svih Unita
   - Identificirati Stubs/Mocks
   - Implementirati production-ready
 
2. EXECUTE QUALITY/SECURITY AUDIT
   - Identificirati sigurnosne rizike
   - Pronaći SoC-kršenja
   - Ispraviti prema standardima
 
3. ADD CODE COMMENTS
   - Identificirati nedostajuće komentare
   - Napisati PasDoc-komentare
 
4. SSOT CHECK
   - Pronaći lokalne require()-pozive
   - Zamijeniti Common-Library-pozivima
 
5. BUILD EXTENSIONS
   - Kompilirati i testirati
   - Kreirati VSIX

Protokoliranje

Svi Audit-koraci se protokoliraju prema Stack-Trace-Formatu:

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

[2026-01-13 10:30:22.015] Pronađeno: TODO-komentar
   at extension_main.pas:156
   Text: "// TODO: Implement error handling"
   Akcija: Implementacija potrebna

[2026-01-13 10:30:22.042] Ispravljeno: TODO-komentar uklonjen
   at extension_main.pas:156
   Promjena: Potpuna obrada grešaka implementirana

Vidi također

Zuletzt geändert: 29.01.2026. u 22:42