====== 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 ^
| [[.:audit-core|Core-Checklista]] | Production-Ready, Error Handling, Logging | **Uvijek** |
| [[.:audit-sicherheit|Sigurnosna checklista]] | KRITIS/NIS2, OWASP, Crypto | Kod Mreže, Auth, Crypto |
| [[.:audit-codequalitaet|Checklista kvalitete koda]] | Naming, Functions, DRY | Kod API-promjena |
| [[.:kommentierung|Standardi komentiranja]] | PasDoc, XMLDoc, Principles | Kod novih Unita |
| [[.:audit-vscode|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 =====
* [[.:audit-core|Core-Checklista]]
* [[.:audit-sicherheit|Sigurnosna checklista]]
* [[.:audit-codequalitaet|Checklista kvalitete koda]]
* [[.:kommentierung|Standardi komentiranja]]
* [[.:audit-vscode|VSCode Extension Checklista]]
* [[.:sicherheit|Sigurnosne smjernice]]
* [[.:code-konventionen|Konvencije koda]]